假设我有一个带有字典的Winforms应用,它看起来像这样:
private Dictionary<string, double> ChartCollection = new Dictionary<string, double>();
并假设我用最近杀死的各种敌人的每种类型的数量填充该词典:
Ninja, 7
Pirate, 10
Space Cowboy, 4
Zombie, 8
Vampire, 7
最后,假设我像这样将图表绑定到此数据:
chtAgentVersions.Series[0].Points.DataBindXY(ChartCollection.Keys, ChartCollection.Values);
这可以完美地工作。我得到了我的图表和一个由我的敌人名称组成的图例,一切都很好。但是,当我尝试应用此代码时:
chtAgentVersions.Series[0].Label = "#VALX (#PERCENT)";
...我的图例上的标签从相应的敌人名称更改为零。在检查数据绑定后的Series时,我发现敌人的名称实际上并未写入XValues。我什至尝试了这个:
chtAgentVersions.Series[0].XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.String;
但是,无济于事。为什么它们全为零?
最佳答案
如果将字符串用作XValue
,请使用#AXISLABEL
而不是#VALX
,因为XValue
与字符串一起使用时始终为零。
关于c# - DataBindXY给出X值的零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8978016/