当前位置: 首页 > 知识库问答 >
问题:

图表显示X轴上错误的日期

卜存
2023-03-14

我正在从csv文件中读取日期/时间和数据,并将其存储在折线图中。我的日期/时间字符串是1-1-2014 21:55:4218-02-2014 00:00:00,这实际上是第一个条目,我有几个小时的数据。

首先,我将chartArea X轴lablestyle设置为正确的格式:“D-M-YYYY HH:mm:SS”

然后,我使用与上面相同的格式将实际的日期字符串解析为DateTime格式:d-m-yyyyhh:mm:ss。并将数据添加到图表中。

        chart1.Series["Series1"].XValueType = ChartValueType.Time;

        chart1.ChartAreas["ChartArea1"].AxisX.LabelStyle.Format = "d-M-yyyy HH:mm:ss";


        chart1.Series["Series1"].Points.Clear();


        using (System.IO.StreamReader sr = new System.IO.StreamReader(filename))
        {

            while (!sr.EndOfStream)
            {
                line = sr.ReadLine();
                DateTime newDateTime = new DateTime();

                string[] part = line.Split(delimiters);

                Console.WriteLine(part[0]);

                newDateTime = DateTime.ParseExact(
                    part[0],
                    "d-M-yyyy HH:mm:ss", 
                    CultureInfo.InvariantCulture
                    );

                chart1.Series["Series1"].Points.AddXY(newDateTime, part[5]);

            }

        }
        chart1.Refresh();
    }

共有1个答案

柴翰藻
2023-03-14

问题:您已经将x-axis的自定义格式设置为d-m-yyyyhh:mm:ss,但是您只是提供datetime而没有对其进行格式化。

将此替换为:

chart1.Series["Series1"].Points.AddXY(newDateTime, part[5]);

有了这个:

chart1.Series["Series1"].Points.AddXY(
    newDateTime.ToString("d-M-yyyy HH:mm:ss"), part[5]);
 类似资料:
  • 问题内容: 我在制作具有日期数组和一堆PM 2.5值的散点图时遇到麻烦。我的列表如下所示: 问题答案: 设置大小 设置颜色 还有很多其他参数:http : //matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.scatter

  • 问题内容: 我正在使用JFreeChart显示一个月的每一天的值。现在,我想让我的x轴显示一个月中的星期而不是天。目前,我的图表的值在y轴上是double,在x轴上是int。 我正在 将日期范围设置为一个月,并且 将x轴的刻度显示在正确的位置。我不想显示天(0、7、14、21、28),而是希望它们是几周(0、1、2、3、4)。 那有可能吗,我将如何做到呢? 问题答案: 您应该像时间一样使用a 作为

  • 我有一条记录,上面写着:。但是,当我执行时,视图会呈现。知道为什么吗?所有日期都会发生这种情况,总是前一天

  • 我正在使用库MPAndroid,< code >编译' com . github . philjay:MPAndroidChart:v 3 . 0 . 0-beta 1 ' 我必须在MPAndroid折线图中传递x轴上的日期和y轴上的值,当我传递x轴或y轴上的值时,应用程序崩溃,显示< code > ArrayIndexOutOfBound < code >异常,数组大小为-2。 我怎么能做到这一

  • 我正在尝试使用vue-chartjs和Chart.js(2.7.1)绘制线图。显示图形,但没有xAx和yAx标签。 这是我的选项对象: 我认为scales.xAxes.scaleLabel不起作用。

  • 在放大MPandroid图表时,是否可以更改X轴上的标签?我希望在开始时将年作为标签,而不是在缩放时变为月,然后是周(缩放时标签将变得更准确)。