Autor Beitrag
theMen
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Fr 24.02.12 04:12 
Guten Abend,

Folgendes 1Problem :
Habe ein chart Objekt in einer Windows Form was nur ein einfaches Balkendiagramm darstellt , die werte werden aus 2 textboxen gelesen wodurch dann die 2 balken erstellt werden . Wenn man nun das digramm neu zecihnet , also 2 neue balken darstellt , funktioniert dies zwar allerdings verändert sich die y achse nicht :
das heißt :
anfangs werden bsp werte 5 und 7 benutzt
der graph passt somit die y achses au ca 10 an
wenn man nun beide balken neu darstellt bsp mit 13 und 15 bleibt y achse bei 10 stehen ...

2 Problem : Würde gerne das Diagramm in einer 3d rundansicht darstellen .
dazu habe ich eine einfache trackbar benutzt womit man die gradzahl steuert .
Funktioniert alles , allerdings ist die grafische darstellungs etwas falsch , weiß nicht genau wie ich Area3DStyle.Inclination und Area3DStyle.Rotation anpassen muss damit ich so eine runumansicht erhalte..
hier der code.

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;

namespace Vokabeltrainer
{
public partial class Statistik : Form
{
public Statistik()
{
InitializeComponent();
}


private void Statistik_Load(object sender, EventArgs e)
{
// TODO: Diese Codezeile lädt Daten in die Tabelle "databaseDataSet.Statistik". Sie können sie bei Bedarf verschieben oder entfernen.
this.statistikTableAdapter.Fill(this.databaseDataSet.Statistik);
//Erstes Diagramm erzeugen
ZeichneDiagramm(int.Parse(richtigTextBox.Text), int.Parse(falschTextBox.Text),15);
//Anfangs grad laden
int value = trackBar1.Value-90;
txtgrad.Text = value.ToString();






}

private void ZeichneDiagramm(int richtig, int falsch,int grad)
{



//Diagramm reinigen --> Diagramm wird nicht komplett gelceant y achse verändert sich nicht und bleibt konstant
chart1.Series.Clear();
chart1.Titles.Clear();
// chart1.Series[0].Points.Clear(); ---------------------------------->>>> BUGG
//Arrays anlegen
string[] seriesArray = { "Richtig""Falsch" };
int[] pointsArray = { richtig, falsch };

// Für 3d Effekt sorgen !

chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = true;
chart1.ChartAreas["ChartArea1"].Area3DStyle.Inclination = grad;
chart1.ChartAreas["ChartArea1"].Area3DStyle.Rotation = grad;
//test

// Setze Farbe
this.chart1.Palette = ChartColorPalette.Excel;

// Setze Titel
this.chart1.Titles.Add("Vokabelstatistiken");



// Add Richtig
Series seriesrichtig = this.chart1.Series.Add("Richtig"); 
// Add Punkt
seriesrichtig.Points.Add(richtig);
//Balkenfarbe bestimmen
chart1.Series[0].Points[0].Color = Color.Green;

//Add Falsch
Series seriesfalsch = this.chart1.Series.Add("Falsch"); 
// Add Punkt.
seriesrichtig.Points.Add(falsch);
//Balkenfarbe bestimmen
chart1.Series[0].Points[1].Color = Color.Red;


//Farbe ändern --> nur Design

foreach (var area in chart1.ChartAreas)
{
area.BackColor = Color.AliceBlue;
area.BackHatchStyle = ChartHatchStyle.Wave;
}

foreach (var legend in chart1.Legends)
{
legend.BackColor = Color.Transparent;
}

chart1.BackGradientStyle = GradientStyle.TopBottom;
chart1.BackColor = Color.Salmon;











}
private void statistikBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.statistikBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.databaseDataSet);

}

private void zeitTextBox_TextChanged(object sender, EventArgs e)
{

}

private void bindingNavigatorPositionItem_TextChanged(object sender, EventArgs e)
{
// ZeichneDiagramm(int.Parse(richtigTextBox.Text), int.Parse(falschTextBox.Text));
}

private void button1_Click(object sender, EventArgs e)
{

//Diagramm zeichnen
ZeichneDiagramm(int.Parse(richtigTextBox.Text), int.Parse(falschTextBox.Text),int.Parse(txtgrad.Text));
}

private void trackBar1_Scroll(object sender, EventArgs e)
{
int value = trackBar1.Value-90;
txtgrad.Text = value.ToString();
}



private void txtgrad_TextChanged_1(object sender, EventArgs e)
{
try
{
ZeichneDiagramm(int.Parse(richtigTextBox.Text), int.Parse(falschTextBox.Text), int.Parse(txtgrad.Text));
}
catch (Exception)
{

MessageBox.Show("Grad Zahl buggt ");
}
}


}
}


Moderiert von user profile iconKha: C#-Tags hinzugefügt