Chart控件如何清空数据

govanyjj 2012-09-04 05:19:14
用chart控件显示一些图表,现在发现一个问题
当我需要在Chart中显示另外一组图表的时候怎么去清除,chart中的数据呢?
ChartAreas.Clear();没办法清除。。:添加的时候因为名字相同会报错的。。

Legends.Clear();
Series.Clear();
这两个方法清除后,就不显示任何数据了。。。
头疼啊。。哪位高人能提点一二啊
...全文
6218 15 打赏 收藏 举报
写回复
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
CJoanna 2013-05-30
  • 打赏
  • 举报
回复 1
楼主可以将第一个图表数据清空Series["name"].points.clear(),然后将第二组图标数据在赋值Series["name"].points.add()啥的啊!
guopeng111111 2013-01-12
  • 打赏
  • 举报
回复
楼主,问题解决了吗?我现在有一组数据,想用折线图的方式画出来,不知道怎么弄?能否讲解下,非常感谢
liangchengfck1 2012-10-11
  • 打赏
  • 举报
回复
最后是清空对应的dataset来完成 也可以 先把数据dataset清理在绑定
suifengfei28 2012-10-10
  • 打赏
  • 举报
回复
楼主说的是清空画的的图么 ,我也遇到这样的问题,最后是清空对应的dataset来完成的
liangchengfck1 2012-09-21
  • 打赏
  • 举报
回复
[code=DataTable] dt = NewMethod();[/code]
liangchengfck1 2012-09-21
  • 打赏
  • 举报
回复
[code=C#][/DataTable dt = NewMethod();]
liangchengfck1 2012-09-21
  • 打赏
  • 举报
回复

DataTable dt = NewMethod();
代码誊写工 2012-09-08
  • 打赏
  • 举报
回复
如果图表不是同时显示,直接修改Chart.Series.ChartType就可以改图例了,不用清除和重新添加任何数据,当然,可能会出现不兼容(例如饼图和柱状在不忽略轻微异常的时候是不能放在一个ChartArea里的)
如果是不同的Chart那就没有这个名字的问题啊
govanyjj 2012-09-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

ChartAreas是绘图区
Series里面存放的才是曲线的数据及曲线的一些相关设置。
要清除数据,只要清除Series就行,清除方式如下:
ChartView.Series["yyzq.net"].Points.Clear();
[/Quote]
我想你可能是理解错了我的意思了,我的意思是:把Series中的数据全部清除而不是把数据中的内容除去,
因为我的图表有多个,而且为了添加的时候方便我在循环中写的名称都是一样的,所以即使清除了数据,名称一样依然会报错,我就希望,连这些东西都一起出去,不晓得有没有相关的方法。。
而我现在做的代替的方法,就是遍历Series将名称一样的全部Remove掉,但是这个方法需要在每个插入之前都要重复。。。有更好的方法么?
govanyjj 2012-09-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

本来我以为我明白,楼主一解释我就真糊涂了
绑定的数据要清除,只要清除数据源就可以
数据中的内容是啥???????????????????????????????????????????
你的图表名称一样?是哪部分一样?series,Area,chart,point,lenged????????还是引用名称一样
Series["name"]和series name=new series两个……
[/Quote]
上面的只是一个图表的方法,当我要调用显示另外一个比如说柱状图的时候,依然会执行这个方法,只不过将Serie的绘图枚举值改成柱状图,而包括Serie和Legend在内的命名依然会是用户所选的数据的有意义名称所代替!
这样的话,如果不能清除Series和Legends中的同样命名的数据的话,就会出现命名重复,同样ChartArea 目前也面临这个问题!
govanyjj 2012-09-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

本来我以为我明白,楼主一解释我就真糊涂了
绑定的数据要清除,只要清除数据源就可以
数据中的内容是啥???????????????????????????????????????????
你的图表名称一样?是哪部分一样?series,Area,chart,point,lenged????????还是引用名称一样
Series["name"]和series name=new series两个……
[/Quote]
额。。具体是这样的:
首先我有个一多个效果表的选项,比如{饼状图、折线图、柱状图。。。}等等,而为这些图表提供的数据,基本是一样的,所以再添加的数据的时候我用的方法代码如下

ChartArea CA = new ChartArea();

CA.AxisX.IntervalAutoMode = IntervalAutoMode.FixedCount;

CA.AxisY.Interval = 0.1;

CA.Name = LabourValues[0].OfficName + tv_MedicalList.SelectedNode.Text;
if (C_Table.ChartAreas.Count > 0)
{
for (int i = 0; i < C_Table.ChartAreas.Count; i++)
{


if (C_Table.ChartAreas[i].Name == CA.Name)
{
C_Table.ChartAreas.Remove(C_Table.ChartAreas[i]);
i--;
}


}

}
C_Table.ChartAreas.Add(CA);
Legend lg = new Legend();

lg.Name = "图例";
foreach (Fun_HisValues item in LabourValues)
{

lg.CellColumns.Add(new LegendCellColumn(item.OfficName + tv_MedicalList.SelectedNode.Text + "全值", LegendCellColumnType.Text, "全职"));
Series S1 = new Series();

S1.ChartType = SeriesChartType.Radar;
S1.Name = item.OfficName + tv_MedicalList.SelectedNode.Text;
S1.ChartArea = CA.Name;
for (int j = 0; j < C_Table.Series.Count; j++)
{
Series Sitems = C_Table.Series[j];
if (Sitems.Name == S1.Name)
{
C_Table.Series.Remove(Sitems);
j--;
}

}
C_Table.Series.Add(S1);

我的数据都是这类的,所以在命名上我选择了,这种命名方式,这就造成了,如果我只是把绑定的数据清空而不删除掉添加进去的Legend和Serie的话,就会造成命名重复从而报错!
所以我想知道有没有可以直接清除添加的东东,而不需要像我现在这样,去遍历删除
代码誊写工 2012-09-07
  • 打赏
  • 举报
回复
本来我以为我明白,楼主一解释我就真糊涂了
绑定的数据要清除,只要清除数据源就可以
数据中的内容是啥???????????????????????????????????????????
你的图表名称一样?是哪部分一样?series,Area,chart,point,lenged????????还是引用名称一样
Series["name"]和series name=new series两个不是一回事
在一个Chart中不可能出现同名series
知擎物联 2012-09-05
  • 打赏
  • 举报
回复
ChartAreas是绘图区
Series里面存放的才是曲线的数据及曲线的一些相关设置。
要清除数据,只要清除Series就行,清除方式如下:
ChartView.Series["yyzq.net"].Points.Clear();
相关推荐
发帖
图表区

4816

社区成员

.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
帖子事件
创建了帖子
2012-09-04 05:19
社区公告
暂无公告