C# mschart控件上Points.AddXY(0, 46),在图表上显示不正确
利用:this.chart1.Series[0].Points.AddXY(0,46);结果显示如图而如果同时添加横坐标为1的点的话:this.chart1.Series...
利用: this.chart1.Series[0].Points.AddXY(0, 46);结果显示如图
而如果同时添加横坐标为1的点的话:
this.chart1.Series[0].Points.AddXY(0, 46);
this.chart1.Series[0].Points.AddXY(1, 46);则结果如图:
请问,为什么添加横坐标为0的点,在图上却是显示在横坐标为1的位置上呢?因为是从零开始一个一个的添加点,所以虽然从1开始就正常了,但是第一个添加的x=0的点显示不正常,这很让人不爽啊,弄半天属性也不知道为啥,求帮忙! 展开
而如果同时添加横坐标为1的点的话:
this.chart1.Series[0].Points.AddXY(0, 46);
this.chart1.Series[0].Points.AddXY(1, 46);则结果如图:
请问,为什么添加横坐标为0的点,在图上却是显示在横坐标为1的位置上呢?因为是从零开始一个一个的添加点,所以虽然从1开始就正常了,但是第一个添加的x=0的点显示不正常,这很让人不爽啊,弄半天属性也不知道为啥,求帮忙! 展开
2个回答
展开全部
X轴数据类型的原因,如下代码:
this.chart1.Series[0].Points.AddXY(0, 46);效果如图:
this.chart1.Series[0].Points.AddXY("0", 46);效果如下:
希望对你有帮助,还有疑问请追问或是Hi
追问
你好,感谢你的解答,但是虽然看上去解决了,但是还是有问题啊。
像你贴的第二个图这样,虽然点对应图上的坐标了,但是x轴却出现了两个0,而我希望是在y轴上显示那个点,刻度也只有唯一一个,像是0,1,2,3,4这样。
我试了一下发现,如果用addxy(“ ”,y)的话,x轴的刻度是随着点的出现添加的,而我是希望,刻度是固定的。
追答
这个并不是看上去解决了,而是根据你描述的问题来的。出现两个0,是因为一个是原点,一个是第一个点的X值;
1、可以用一句代码解决这个问题:
this.chart1.ChartAreas[0].AxisX.IsMarginVisible = false;
2、AddXY本来就是添加点的操作,所以它是你添加多少个点就出现多少个,需要刻度固定那么就有可能某个X值上没有点,这种可以用数组解决:
int[] xValue = new int[] { X轴刻度 };
double[] yValue = new double[] { 对应的Y值 };
this.chart1.Series[0].Points.DataBindXY(xValue, yValue);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询