质谱图中的空白区域
我有一个包含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的第一列是字符串和其他四个是浮动。
您需要的AxisX.Minimum
设置为一个合适的值。
通常这将是0
或的第一DataPoint
的x值。
但是,您添加值的方式不起作用。
您正在以一种相当不幸的方式添加DataPoints
,这有时可以,但更多的时候会造成各种各样的问题。
推荐的方法是将x值添加为号码或DateTimes
,它们在内部将被转换为doubles
。
但你加strings
。这看起来确定但x值不包含那些字符串没有别的,但0s
。 Threfore你不能用它们来设置的范围或工具提示或变焦范围或计算的东西..
但是,如果你想通过设置最低至1
仍然可以得到你想要的结果:
ChartArea ca = yourChart.ChartAreas[0];
ca.AxisX.Minimum = 1;
我已经添加了我的x值作为字符串,但它们看起来像数字。
但推荐方式将您的值转换为数字,所以你可以将它们用于各种各样的东西..
的几个注意事项:
这种转换是通过做图表,如果可能的话对于y值而不是x值!也许是因为没有数字y值的图表根本没有意义,而有时x值根本不包含有意义的数字数据,例如名称,ID,邮政编码等。
不要让视觉欺骗你:
strings
只被复制到轴标签中;否则会丢失! (你应该用调试器检查一下!!)您可能会注意到,截图中的标签数量发生了变化。该数字是从x轴的
Interval
计算得出的。默认情况下会自动计算(Interval=double.NaN
)以适合合理数量。您可以将其设置为您喜欢的任何距离。通常它是指轴单位,但在这种情况下是指点数。将其设置为2
以获得每个第二点的一个Label
;其设置为0.5
拿到2Labels
每DataPoint
..实数(或DataTimes)的x值,你还可以设置像秒钟或数天的间隔类型..
默认情况下,ChartArea的IsStartedFromZero属性设置为true。该设置将强制图表始终从零开始。尝试将其设置为false:
chart1.ChartAreas[0].AxisX.IsStartedFromZero = false;
chart1.ChartAreas[0].AxisY.IsStartedFromZero = false;
好主意!但正如我所解释的,所有的x值都是'0',所以这在这里不起作用。 – TaW
一张照片会说超过一千个字。而对于任何人重现,我们将需要图表属性(系列配置,...) – dlatikay
遗憾的错过。 – user3409181
图像中的白色区域在哪里?即时看到很多白色区域。 :D也许试试围拢它?曾试过剪切工具? –