如何使用快速图表使点更紧凑

时间:2017-04-19 15:47:38

标签: c# winforms mschart

我是C#winform的新手。作为标题,我的问题是如何在快速图表中使点更紧凑。为清楚起见,如何按比例缩小蓝点的距离,如图中所示的红线段;也就是说,使X轴更紧凑:

enter image description here

我搜索并发现了很多关于控制X或Y轴标签间隔的信息,但这不是这里的情况。

1 个答案:

答案 0 :(得分:0)

您可以通过设置AxisMinimum值来控制每个Maximum的数据值范围。

语法为:

someChart.ChartAreas[CAIndexOrName].AxisX.Minimum = someDoubleValue;

让我们准备一张图表来展示一天:

Axis ax = chart.ChartAreas[0].AxisX;   // a short reference

ax.IntervalType = DateTimeIntervalType.Hours;
ax.Interval = 1;

要将属性设置为某些DateTime值,您需要将它们转换为双精度值;对于此转化,有两个内置函数:DateTime.ToOADate和反转DateTime.FromOADate

这使得x轴显示24小时:

DateTime dt = DateTime.Today;

ax.Minimum =  dt.ToOADate();
ax.Maximum = (dt.AddHours(24)).ToOADate();

ax.LabelStyle.Format = "H:mm";   // optional

您还可能想要控制系列值的数据类型:

 Series s = chart.Series[0];
 s.XValueType = ChartValueType.DateTime;  // or some other type, maybe Time

请注意,您还可以控制每个轴上IntervalLabels以及TickMarks的{​​{1}},但也可以设置Gridlines来启动它们稍早或稍晚..