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的点显示不正常,这很让人不爽啊,弄半天属性也不知道为啥,求帮忙!
展开
 我来答
zhouxiang_1216
2014-07-07 · TA获得超过2591个赞
知道大有可为答主
回答量:1286
采纳率:33%
帮助的人:1375万
展开全部

X轴数据类型的原因,如下代码:

this.chart1.Series[0].Points.AddXY(0, 46);效果如图:

this.chart1.Series[0].Points.AddXY("0", 46);效果如下:

希望对你有帮助,还有疑问请追问或是Hi

追问

你好,感谢你的解答,但是虽然看上去解决了,但是还是有问题啊。

  1. 像你贴的第二个图这样,虽然点对应图上的坐标了,但是x轴却出现了两个0,而我希望是在y轴上显示那个点,刻度也只有唯一一个,像是0,1,2,3,4这样。

  2. 我试了一下发现,如果用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);
阳光的雷咩咩
2014-07-06 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7799万
展开全部
你的项目可以发来看看吗?可以的话,留联系看。
追问

新建立一个只有chart控件的项目,只是设置了下series里的markerstyle和charttype设为line型。在Form1_Load里添加代码,结果如下:

却掉注释:


追答
问题是chart并不是vs自带的标准类库,所以是和你的环境相关的,只能远程或者发项目来看。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式