我尝试从字典集合中设置图表XValueMember和YValueMember:
public partial class GraphWindow : Window
{
Dictionary<int, double> value;
public GraphWindow(Dictionary<int, double> values)
{
InitializeComponent();
value = new Dictionary<int, double>(values);
Plot();
}
public void Plot()
{
Chart chart = this.FindName("Chart") as Chart;
if (chart != null)
{
chart.DataSource = value;
chart.Series["series"].XValueMember = "Key";
chart.Series["series"].YValueMembers = "Value";
}
}
}
轴已构建,但为空(screenshot)。以前,我尝试使用KeyValuePair,但图表不支持它。如何以图表格式从字典中获取值和键?谢谢你的帮助!
答案 0 :(得分:0)
你只缺少一个小piece的谜题:
chart.DataSource = value;
chart.Series[0].XValueMember = "Key";
chart.Series[0].YValueMembers = "Value";
chart.DataBind();
最后一行将在其他人设置之后建立DataBinding
。
只要数据发生变化,您就需要再次调用它。
注意:根据上面的MSDN链接..:
如果数据源设置为图表而没有其他数据 操作是必需的,DataBind方法不一定是 明确地叫。在这些情况下,Chart本身将数据绑定到 在呈现之前的数据源。
..实际上你可以通过调用
强制执行渲染chart.Refresh();
但是由于字典需要设置值某些东西似乎是必要的才能使其有效..
使用这些数据
value.Clear();
value.Add(1,12);
value.Add(2,32);
value.Add(3,52);
value.Add(6,42);
此图表结果: