Benutzer mit den meisten Antworten
XValue bei der Diagramm in der mitte machen

Frage
-
Hallo,
meine XValue(Datum) bei der Diagramm sind nicht mittig. Ich möchte, dass sie in der mitte von jede stackedcolumm stehen. ich lese meine Daten mit einem SQL_Abfrage. bei der X-Achse habe ich ChartValueType.Date.
Ich habe gefunden, dass man mit folgende funktion machen kann area1.AxisX.CustomLabels.Add(); aber ich kann diese nicht im meinen Fall einsetzen. So passe ich meine X-Achse an.
using (SqlCommand command = new SqlCommand("USE BarForce SELECT CONVERT(date, F1) AS Dat1, COUNT(CONVERT(date, F1)) AS Anz1 FROM SlitteApp WHERE F1 IS NOT NULL")) double End = DateTime.Now.ToOADate(); double Start = End - 30; series1.Points.DataBind(table.AsEnumerable(), "Dat1", "Anz1", null); series1.XValueType = ChartValueType.Date; area1.AxisX.Minimum = Start; area1.AxisX.Maximum = End;
Danke- Typ geändert Aleksander Chalabashiev Freitag, 30. Januar 2015 11:27 keine bestätigte Lösung
- Typ geändert Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 3. Februar 2015 09:48 Lösung veröffentlicht
Antworten
-
Hallo,
Die lösung für diese Frage war:
foreach (DataPoint point in series5.Points) { double s = point.XValue; DateTime mydate = DateTime.FromOADate(s); string date = mydate.ToString("dd/MM"); area1.AxisX.CustomLabels.Add(new CustomLabel(point.XValue - 1, point.XValue + 1, date, 0, LabelMarkStyle.None)); }
Lg- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 3. Februar 2015 09:49
Alle Antworten
-
Hallo,
ich habe die folgende code probiert bei jede Serie.
foreach (DataPoint point in series1.Points) { area1.AxisX.CustomLabels.Add(new CustomLabel(point.XValue - 1, point.XValue + 1, point.AxisLabel, 0, LabelMarkStyle.None)); }
Jetzt kommt die Werte von X in der Mitte, aber nicht in richtigen Format(Datetime) sondern in Double. Und die Tickmark sind auch nicht in der mitte
Woran kann das liegen? Vielen Dank im vorraus
- Bearbeitet maness Dienstag, 20. Januar 2015 16:19
-
Hallo,
wenn ich dich richtig verstehe, dann geht es dir um die Beschriftung der Serien. Dafür kannst du einfach den Konstruktoren bzw. der Add-Methode den Namen übergeben:var series1 = chart1.Series.Add("Meine 1. Datenreihe");
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort vorgeschlagen Aleksander Chalabashiev Montag, 26. Januar 2015 09:14
- Nicht als Antwort vorgeschlagen Aleksander Chalabashiev Montag, 26. Januar 2015 09:14
-
Hallo,
es geht nicht um die Beschriftund der Serien, sondern um die Darstellung meine XValueMembers in Diagramm. Die Datum (Xvalue) sind ein bisschen verschoben. nicht in der mitte von jede StackedColumm. folgende beispiel ist richtig. Jan, Feb, Mar, Apr Usw... sind genau in der mitte(Siehe Bild)
-
Hallo,
Ich habe genau die Gleiche Problem wie William siehe folgende Link. Aber meine DATEN sind nicht fest und ich lese die Daten mit Sql_Abfrage. deswegen habe ich schwierigkeit die For-Schleife in Lösung zu machen.
Link:
https://social.msdn.microsoft.com/Forums/vstudio/en-US/6ac5902f-386b-4e6b-ad4b-cd32c31186ae/how-to-position-xaxis-dates-in-column-chart
Danke
-
Hallo,
so kommt schon die Positionierung der Datum in der mitte. Aber jetzt mit zahlen(double),
nicht in dateFormat("dd/MM/YYYY")
foreach (DataPoint point in series1.Points) { //DateTime mydate = DateTime.FromOADate(point); area1.AxisX.CustomLabels.Add(new CustomLabel(point.XValue - 1, point.XValue + 1, point.XValue.ToString(), 0, LabelMarkStyle.None)); }
Ich möchte dies wieder im DateFormat haben. Danke
- Bearbeitet maness Mittwoch, 21. Januar 2015 10:28
-
Hallo maness
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Gruß
Aleksander
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
-
Hallo,
Die lösung für diese Frage war:
foreach (DataPoint point in series5.Points) { double s = point.XValue; DateTime mydate = DateTime.FromOADate(s); string date = mydate.ToString("dd/MM"); area1.AxisX.CustomLabels.Add(new CustomLabel(point.XValue - 1, point.XValue + 1, date, 0, LabelMarkStyle.None)); }
Lg- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 3. Februar 2015 09:49