质谱图中的空白区域

问题描述:

enter image description here我有一个包含12个数据点的简单图表。问题是它在开始趋势线之前显示一个小白色区域。 下面是代码质谱图中的空白区域

for (int i = 0; i < 12; i++) 
{ 
    chart1.Series[0].Points.AddXY(DataTable.Rows[i].ItemArray[0], plotDataTable.Rows[i].ItemArray[1]); 
    chart1.Series[1].Points.AddXY(DataTable.Rows[i].ItemArray[0], plotDataTable.Rows[i].ItemArray[2]); 
    chart1.Series[2].Points.AddXY(DataTable.Rows[i].ItemArray[0], DataTable.Rows[i].ItemArray[3]); 
    chart1.Series[3].Points.AddXY(DataTable.Rows[i].ItemArray[0], DataTable.Rows[i].ItemArray[4]); 
} 

DataTable的第一列是字符串和其他四个是浮动。

+0

一张照片会说超过一千个字。而对于任何人重现,我们将需要图表属性(系列配置,...) – dlatikay

+0

遗憾的错过。 – user3409181

+0

图像中的白色区域在哪里?即时看到很多白色区域。 :D也许试试围拢它?曾试过剪切工具? –

您需要的AxisX.Minimum设置为一个合适的值。

通常这将是0或的第一DataPoint的x值。

但是,您添加值的方式不起作用。

您正在以一种相当不幸的方式添加DataPoints,这有时可以,但更多的时候会造成各种各样的问题。

推荐的方法是将x值添加为号码DateTimes,它们在内部将被转换为doubles

但你加strings。这看起来确定但x值不包含那些字符串没有别的,但0s。 Threfore你不能用它们来设置的范围或工具提示或变焦范围或计算的东西..

但是,如果你想通过设置最低至1仍然可以得到你想要的结果:

ChartArea ca = yourChart.ChartAreas[0]; 
ca.AxisX.Minimum = 1; 

enter image description here

我已经添加了我的x值作为字符串,但它们看起来像数字。

推荐方式将您的值转换为数字,所以你可以将它们用于各种各样的东西..

的几个注意事项:

  • 这种转换是通过做图表,如果可能的话对于y值而不是x值!也许是因为没有数字y值的图表根本没有意义,而有时x值根本不包含有意义的数字数据,例如名称,ID,邮政编码等。

  • 不要让视觉欺骗你:strings只被复制到轴标签中;否则会丢失! (你应该用调试器检查一下!!)

  • 您可能会注意到,截图中的标签数量发生了变化。该数字是从x轴的Interval计算得出的。默认情况下会自动计算(Interval=double.NaN)以适合合理数量。您可以将其设置为您喜欢的任何距离。通常它是指轴单位,但在这种情况下是指点数。将其设置为2以获得每个第二点的一个Label;其设置为0.5拿到2 LabelsDataPoint ..

  • 实数(或DataTimes)的x值,你还可以设置像秒钟或数天的间隔类型..

+0

非常感谢亲爱的 – user3409181

+0

我可以增加x轴标签的数量吗? – user3409181

+0

是的。看到我的更新! – TaW

默认情况下,ChartArea的IsStartedFromZero属性设置为true。该设置将强制图表始终从零开始。尝试将其设置为false:

chart1.ChartAreas[0].AxisX.IsStartedFromZero = false; 
chart1.ChartAreas[0].AxisY.IsStartedFromZero = false; 
+1

好主意!但正如我所解释的,所有的x值都是'0',所以这在这里不起作用。 – TaW