C# Chart X Axis formátum

Címkék
C# Chart X Axis formátum
2015-06-03T08:37:00+02:00
2015-06-03T11:15:04+02:00
2022-08-09T15:41:53+02:00
Nilovag
Sziasztok!

C# -ban szeretnék egy grafikon rajzolni. Az adatokat csv állományból olvasom be. A csv állomány formátuma:
1,303
2,301
3,297
4,303
.
.
.
114,460

Az első szám az idő percben, a második pedig egy hőmérséklet.
A grafikont kirajzolja, de az a gondom vele, hogy az idő értékeket nem percben, hanem h:mm formátumban szeretném megjeleníteni.

Tudna valaki segíteni?


Palkó
Mutasd a teljes hozzászólást!
Csatolt állomány
DateTime wStart = DateTime.Parse("2015.06.03."); chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm"; chart1.Series.Clear(); chart1.Series.Add("Series1"); chart1.Series["Series1"].XValueType = ChartValueType.DateTime; chart1.Series["Series1"].Points.AddXY(wStart.AddMinutes(1), 303); chart1.Series["Series1"].Points.AddXY(wStart.AddMinutes(2), 301); chart1.Series["Series1"].Points.AddXY(wStart.AddMinutes(3), 297); chart1.Series["Series1"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; chart1.Series["Series1"].BorderWidth = 3;
Mutasd a teljes hozzászólást!

  • Dolgozd be TimeSpan-ként az időt így:
    TimeSpan minute = TimeSpan.FromMinutes(értéked);
    Majd nem tudom mit használsz kiírásra, de így ki tudod íratni normálisan:

    Console.WriteLine(minute.ToString("HH:mm"));
    Mutasd a teljes hozzászólást!
  • Szia, miután sikerült az x tengelyt idő formátummal "bedolgoznod", utána:

    Chart komponens ChartAreas tulajdonság melletti ... gomb > ChartArea Collection Editor
    Axes ... gomb > Axis Collection Editor
    Itt sok mindent állíthatsz:
    X axis / LabelStyle.Format
    X axis / Minimum
    X axis / Maximum

    vagy kódból:

    chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm";
    Mutasd a teljes hozzászólást!
  • Az adatokat a következő módon jelenítem meg:

     for (int j = 0; j < nLines; j++)
                {

                    chart.ChartAreas[0].AxisX.Interval = 20;
                    chart.ChartAreas[0].AxisY.Interval = 50;
                    chart.Series[0].Points.AddXY(data[j,X], data[j, Y]);
                    chart.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Auto;
                  

                }
    Mutasd a teljes hozzászólást!
  • DateTime wStart = DateTime.Parse("2015.06.03."); chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm"; chart1.Series.Clear(); chart1.Series.Add("Series1"); chart1.Series["Series1"].XValueType = ChartValueType.DateTime; chart1.Series["Series1"].Points.AddXY(wStart.AddMinutes(1), 303); chart1.Series["Series1"].Points.AddXY(wStart.AddMinutes(2), 301); chart1.Series["Series1"].Points.AddXY(wStart.AddMinutes(3), 297); chart1.Series["Series1"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; chart1.Series["Series1"].BorderWidth = 3;
    Mutasd a teljes hozzászólást!
  • Köszönöm!

    Így működik:
    .
                DateTime wStart = DateTime.Parse("2015.06.03.");
                chart.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm";
                chart.Series.Clear();
                chart.Series.Add("Series1");
                chart.Series["Series1"].XValueType = ChartValueType.DateTime;

                for (int j = 0; j < nLines; j++)
                {

                    chart.Series["Series1"].Points.AddXY(wStart.AddMinutes(data[j,X]), data[j, Y]);
    .
    .
    .
    Mutasd a teljes hozzászólást!
Címkék
abcd