Entwickler-Ecke
Basistechnologien - Pie Chart Control
lapadula - Sa 12.11.16 19:42
Titel: Pie Chart Control
Hallo,
ich versuche gerade ein Kuchendiagramm richtig darzustellen. Alles recht simpel, trotzdem komme ich nicht drauf.
Ich möchte einen Prozentsatz darstellen, nur einen. Wie kann ich dem Chart einen statischen Wert von 100 zuweisen, damit ich dem z. B. 25 übergebe und er diese dann darstellt.
Ein Beispiel wie es nicht funktioniert :D Er bekommt den Wert 100 und 25. Was er macht, er addiert die beiden Werte zusammen und zeigt 100 von 125 und 25 von 125 im Chart als Prozentsätze an. Ich möchte halt nur optisch den Kuchen 1/4 gefüllt sehen.
C#-Quelltext
1: 2: 3: 4:
| chart2.Series[0].Points.Clear(); chart2.Series["Test"].Label = "#PERCENT"; chart2.Series["Test"].Points.AddY(100); chart2.Series["Test"].Points.AddY(25); |
Th69 - So 13.11.16 12:22
Dann nimm 25 und 75 (also 100 - 25)...
jfheins - So 13.11.16 15:42
Das geht offenbar nicht direkt, das Steuerelement summiert immer alle Punkte auf und definiert das als 100%.
Du kannst es aber so stylen, dass es richtig aussieht ;-) Zum Beispiel:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| chart1.Series[0].Points.Clear(); chart1.Series[0].Label = "#PERCENT"; chart1.Series[0].Points.AddY(75); chart1.Series[0].Points.AddY(25); chart1.Series[0].Points[0].IsVisibleInLegend = false; chart1.Series[0].Points[0].Color = Color.Transparent; chart1.Series[0].Points[0].IsValueShownAsLabel = false; chart1.Series[0].Points[0].Label = ""; chart1.Series[0].Points[0].BorderColor = Color.Gray; chart1.Series[0].Points[0].BorderDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Dash; chart1.Series[0].Points[1].BorderColor = Color.Black; chart1.Series[0].Points[1].BorderWidth = 4; chart1.Series[0].Points[1].BorderDashStyle = System.Windows.Forms.DataVisualization.Charting.ChartDashStyle.Solid; |
Sieht dann so aus:
Den ganzen Kram kannst du natürlich in eine Funktion auslagern, der du dann nur noch den Namen und Prozentsatz übergibst und die dann selbsständig das "leere" Stück ausrechnet und stylt.
Delete - So 13.11.16 15:51
- Nachträglich durch die Entwickler-Ecke gelöscht -
jfheins - So 13.11.16 16:26
Kommt halt drauf an, was man möchte. Wenn du den leeren Teil gar nicht sehen willst, kannst du die zwei Zeilen, wo der Rand definiert wird, (10 & 11) einfach weglassen.
lapadula - Mo 14.11.16 10:07
Vielen Dank!
Dachte dafür gäbe es eine Property.
An dieses workaround habe ich auch kurz gedacht, wollte es aber nicht wahrhaben, dass es anders nicht zu lösen ist, da das Control doch recht viele Eigeschaften besitzt. :D
Delete - Mo 14.11.16 15:02
- Nachträglich durch die Entwickler-Ecke gelöscht -
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!