Laden...

[gelöst] Charts - Werte von Zwischenachsen selbst bestimmen

Erstellt von Pashmina vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.713 Views
P
Pashmina Themenstarter:in
2 Beiträge seit 2014
vor 10 Jahren
[gelöst] Charts - Werte von Zwischenachsen selbst bestimmen

Hallihallo,

Ich bin blutige Anfängerin in C#. Dies ist meine erste Programmiersprache und ich bin seit stolzen drei Wochen dabei, sie zu lernen.

Unter Beachtung eures Threads "Wie poste ich richtig", habe ich mich vorab selbst informiert:

-> Ich besitze das Buch "Einstieg in Visual C#" von Thomas Theis und habe es komplett gelesen.
-> Ich habe das C# Video2Brain von David komplett angesehen.
-> Zwischendurch meine Problemchen mittels eurem Forum und der Seite von Golo gelöst.

Im Moment Arbeite ich für mein Praktikum an einem Projekt, welches Daten aus einer SQL Tabelle ausließt und in einem Chart in Visual Studio anzeigt.

Das - und ein paar weitere Funktionen - habe ich alles erledigt. Nun stehe ich seit Gestern vor einem Problem, auf dessen Lösung ich einfach nicht komme. Bitte habt Nachsicht mit mir, wenn ich etwas falsch verstehe oder mich schlecht Ausdrücke. Ich verspreche, mir Mühe zu geben!

Folgendes Problem:

Ich habe eine X Achse, die eine Uhrzeit alle 15 Minuten aus der Datenbank ausließt und entsprechend die Achse "Verlängert". In der Datenbank stehen diese im Format "7000, 7015, 7030, 7045...." und so weiter bis 2200.

Sobald ein paar mehr Daten gezogen wurden, werden im chart automatisch solche "Zwischenachsen" erstellt, mit Werten wie "0790" oder "1461".

Ich möchte verhindern, dass mein Chart automatisch Werte Erstellt und stattdessen eigene, gerade Werte (Wie z.B. 0900, 1200, ...) setzen.

So sieht mein Code im Moment aus:


//Maximale und Minimale Werte der Abmessung Uhrzeit
            chart1.ChartAreas[0].AxisX.Minimum = Convert.ToDouble(IntervalleInfo[0]);                     
            chart1.ChartAreas[0].AxisX.Maximum = Convert.ToDouble(IntervalleInfo[IntervalleInfo.Count-1]);
            chart1.ChartAreas[0].AxisX.Title = "Intervall";
            chart1.ChartAreas[0].AxisX.TitleFont = new Font("Calibri", 15);
            chart1.ChartAreas[0].AxisX.TitleAlignment = StringAlignment.Near;
            chart1.ChartAreas[0].AxisX.LabelStyle.Font = new Font("Calibri", 15);


Leider komme ich diesmal einfach nicht selbst auf die Lösung!

Bitte nicht falsch verstehen - dies soll kein "Leute macht mir meinen Code fertig" Post werden. Ich möchte selbstständig so gut wie möglich C# lernen und brauche einfach einen Schubs vom Schlauch, auf dem ich gerade stehe.

Ich hoffe, dies fällt nicht unter "Anfängerfrage". Mit eurer SUFU hab' ich jedenfalls noch keinen Thread in der Art gefunden.

Liebe Grüße,

16.842 Beiträge seit 2008
vor 10 Jahren

Hi,

ich meine, dass Du das Intervall der X-Achse manuell setzen musst.

chart1.ChartAreas[0].AxisX.Interval = 1000; 

Dann gabs glaub auch noch einen IntervalOffset.
Es gibt auch fertige Interval-Enumerations wie zB DateTimeIntervalType.Day falls es um Tages- oder Uhrzeitskalierungen geht.

P
Pashmina Themenstarter:in
2 Beiträge seit 2014
vor 10 Jahren

Oh Gott, ich bin so blöd.

Ich habe exakt diese Funktion gestern gefunden aber falsch verwendet...

Wenn ich das so schreibe, wie du es gemacht hast und den Interval auf 100 setze, erhalte ich genau mein gewünschtes Ergebnis.

Vielen lieben Dank für deine Hilfe!