1

使用 C# 和 .Net 4(我也尝试过 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 );
        }
    }
}

任何人都知道如何在不使区域任意宽的情况下避免这种情况?任何人都知道我是否可以使用 Paint 或 PrePaint 事件来调整绘图?

提前致谢。

4

0 回答 0