Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 避免slim SerieChartType。区域别名不存在_C#_Dotnetcharting - Fatal编程技术网

C# 避免slim SerieChartType。区域别名不存在

C# 避免slim SerieChartType。区域别名不存在,c#,dotnetcharting,C#,Dotnetcharting,使用C#和.NET4(我也尝试了4.5.1),我想在图表上绘制不同的区域,表示不同的时间跨度,有些短,有些长。在很短的时间跨度内(小于一个像素?),一些(但不是全部)消失。当图表稍微调整大小时,不同的图标消失,如下所示 我看不到任何模式可以预测未绘制的模式-请参阅下面的代码片段 using System; using System.Windows.Forms; using System.Windows.Forms.DataVisualization.Charting; namespace

使用C#和.NET4(我也尝试了4.5.1),我想在图表上绘制不同的区域,表示不同的时间跨度,有些短,有些长。在很短的时间跨度内(小于一个像素?),一些(但不是全部)消失。当图表稍微调整大小时,不同的图标消失,如下所示

我看不到任何模式可以预测未绘制的模式-请参阅下面的代码片段

using System;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;

namespace ChartTest
{
    public partial class Form1 : Form
    {
        public Form1( )
        {
            InitializeComponent( );

            var series = new Series( )
            {
                ChartType = SeriesChartType.Area,
                MarkerStyle = MarkerStyle.None,
                XValueType = ChartValueType.DateTime,
                YAxisType = AxisType.Primary,
            };

            AddLine( DateTime.Parse( "17/6/2015" ), series );
            AddLine( DateTime.Parse( "18/6/2015" ), series );
            AddLine( DateTime.Parse( "19/6/2015" ), series );
            AddLine( DateTime.Parse( "20/6/2015" ), series );
            AddLine( DateTime.Parse( "21/6/2015" ), series );

            chart1.Series.Add( series );
        }

        private static void AddLine( DateTime dateTime, Series series )
        {
            var endTime = dateTime.AddMinutes( 2 );
            series.Points.AddXY( dateTime, 0 );
            series.Points.AddXY( dateTime, 1 );
            series.Points.AddXY( endTime, 1 );
            series.Points.AddXY( endTime, 0 );
        }
    }
}
有人知道如何避免这种情况而不使区域任意变宽吗?有人知道我是否可以使用绘制或预绘制事件来调整图形吗


提前感谢。

在代码中添加数据点的方式意味着每天可能有24*30=720 2分钟的区域,另外还有24*30=7200 0 0分钟的区域,在系列颜色和背景之间交替。要显示它们,您需要每个间隔至少1440像素,或者示例中数据的图表宽度为5760像素。那不行。比如说,你的图表中有一天有大约100个像素!谢谢你的评论。是的,但不是真实数据会发生什么。实际上,两分钟的时间间隔可能为一小时,其他时间间隔可能为10分钟或长达6小时。我的问题是,我能做些什么来避免一些(但通常不是全部)2分钟小区域不显示。记住上面的计算:它们可以显示在哪里?宽度约为100/720=0.15像素,这是不可能发生的。真的没办法。人们可能会考虑使用一些特殊颜色手动消除混叠的单像素“区域”,但只有当您接受它们将从其他数据点窃取空间时,它们才有意义。。因此,我建议放弃这个选项,而是给用户放大的选项。在代码中添加数据点的方式意味着每天可能有24*30=720 2分钟的区域,还有24*30=7200 0 0分钟的区域,在系列颜色和背景之间交替。要显示它们,您需要每个间隔至少1440像素,或者示例中数据的图表宽度为5760像素。那不行。比如说,你的图表中有一天有大约100个像素!谢谢你的评论。是的,但不是真实数据会发生什么。实际上,两分钟的时间间隔可能为一小时,其他时间间隔可能为10分钟或长达6小时。我的问题是,我能做些什么来避免一些(但通常不是全部)2分钟小区域不显示。记住上面的计算:它们可以显示在哪里?宽度约为100/720=0.15像素,这是不可能发生的。真的没办法。人们可能会考虑使用一些特殊颜色手动消除混叠的单像素“区域”,但只有当您接受它们将从其他数据点窃取空间时,它们才有意义。。因此,我建议放弃这个选项,而是给用户放大的选项。在代码中添加数据点的方式意味着每天可能有24*30=720 2分钟的区域,还有24*30=7200 0 0分钟的区域,在系列颜色和背景之间交替。要显示它们,您需要每个间隔至少1440像素,或者示例中数据的图表宽度为5760像素。那不行。比如说,你的图表中有一天有大约100个像素!谢谢你的评论。是的,但不是真实数据会发生什么。实际上,两分钟的时间间隔可能为一小时,其他时间间隔可能为10分钟或长达6小时。我的问题是,我能做些什么来避免一些(但通常不是全部)2分钟小区域不显示。记住上面的计算:它们可以显示在哪里?宽度约为100/720=0.15像素,这是不可能发生的。真的没办法。人们可能会考虑使用一些特殊颜色手动消除混叠的单像素“区域”,但只有当您接受它们将从其他数据点窃取空间时,它们才有意义。。因此,我建议放弃这个选项,而是给用户放大的选项。。