C# 生成Chart生成多个Series x轴对应错误。1月份的数据错误的合并到2月份数据当中,如何解决
int[]pointsArray={7,8};string[]points={"2月","3月"};for(inti=0;i<2;i++){chart1.Series["...
int[] pointsArray = { 7,8}; string[] points = {"2月","3月"}; for (int i = 0; i < 2; i++) { chart1.Series["Series1"].Points.AddXY(points[i], pointsArray[i]); } int[] pointsArray2 = {6}; string[] points2 = { "1月"}; for (int i = 0; i < 1; i++) { chart1.Series["Series2"].Points.AddXY(points2[i], pointsArray2[i]); }
展开
1个回答
展开全部
你的代码的最后效果就是这样的,因为你用了2个Series2,所以会重复的,一个循环只能用1个
修改一下,两个添加合并成一个添加
int[] pointsArray = { 6,7,8};
string[] points = {"1月","2月","3月"};
for (int i = 0; i <=2; i++)
{
chart1.Series["Series1"].Points.AddXY(points[i], pointsArray[i]);
}
或者
int[] pointsArray = { 7,8};
string[] points = {"2月","3月"};
for (int i = 0; i < 2; i++)
{
chart1.Series["Series1"].Points.AddXY(points[i], pointsArray[i]);
}
int[] pointsArray2 = {6};
string[] points2 = { "1月"};
for (int i = 0; i < 1; i++)
{
chart1.Series["Series1"].Points.AddXY(points2[i], pointsArray2[i]);
}
修改一下,两个添加合并成一个添加
int[] pointsArray = { 6,7,8};
string[] points = {"1月","2月","3月"};
for (int i = 0; i <=2; i++)
{
chart1.Series["Series1"].Points.AddXY(points[i], pointsArray[i]);
}
或者
int[] pointsArray = { 7,8};
string[] points = {"2月","3月"};
for (int i = 0; i < 2; i++)
{
chart1.Series["Series1"].Points.AddXY(points[i], pointsArray[i]);
}
int[] pointsArray2 = {6};
string[] points2 = { "1月"};
for (int i = 0; i < 1; i++)
{
chart1.Series["Series1"].Points.AddXY(points2[i], pointsArray2[i]);
}
追问
这不是问题关键。我就是要同时2个series的。问题是加载第二个series的时候x轴错误。
追答
你的代码就是这样的,Series加载数据都是依次加载的
int[] pointsArray = { 7,8};
string[] points = {"2月","3月"};//这里会有2个点,
for (int i = 0; i < 2; i++)//一次加载每个点,从0开始
{
chart1.Series["Series1"].Points.AddXY(points[i], pointsArray[i]);
}
int[] pointsArray2 = {6};//这里会有1一个点
string[] points2 = { "1月"};
for (int i = 0; i < 1; i++)依次加载每一个点,从0开始
{
chart1.Series["Series2"].Points.AddXY(points2[i], pointsArray2[i]);
}
你用了2个Series,第一个Series的第一点就是2月,第二个点就是3月
你的第二个Series的第一个点是1月,但是你的第一个Series的第一个点是2月,所以第二个Series的第一个点就以第一个Series的第一个点,也就是2月为准!
每个Series在chart里面是独立的,互不相干的对象!!所以你的1月 和2月,3月没有任何关系,系统按照你给的数据依次加载数据,有几个Series,在同一个坐标就会有几个柱子
所以不是错误加载了,是你没理解一个Serie代表什么意义以及他加载数据的原理搞清楚哈!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询