【发布时间】:2019-03-07 10:08:12
【问题描述】:
我有一个要在饼图中显示的数据表。 Amount 是值,MsgType 是标签。图表应该有 3 个切片。表格如下所示:
MsgType Amount
-----------------
3 4500
2 1262
1 3956
我已经按照一些示例创建了一个新的饼图系列并在我的应用程序中显示它。代码隐藏如下:
public SeriesCollection MsgTypeDoughnut { get; set; }
public List<int> Lables { get; set; }
public MsgTypeProportion()
{
InitializeComponent();
List<DataMsgType> dataMsgTypes = GetMsgType();
ChartValues<int> values = new ChartValues<int>();
Lables = new List<int>();
foreach (var item in dataMsgTypes)
{
values.Add(item.Amount);
Lables.Add(item.MsgType);
}
MsgTypeDoughnut = new SeriesCollection
{
new PieSeries
{
Title = "Amount",
Values = values,
DataLabels = true
}
};
DataContext = this;
}
public List<DataMsgType> GetMsgType()
{
DataSet DS = new DataSet();
DataSetTableAdapters.spMessages_GetMsgTypeOverviewTableAdapter MsgTypeta = new DataSetTableAdapters.spMessages_GetMsgTypeOverviewTableAdapter();
MsgTypeta.Fill(DS.spMessages_GetMsgTypeOverview);
List<DataMsgType> dataMsgTypes = new List<DataMsgType>();
foreach (DataRow row in DS.Tables["spMessages_GetMsgTypeOverview"].Rows)
{
dataMsgTypes.Add(new DataMsgType() { MsgType = (int)row["MsgType"], Amount = (int)row["Amount"]});
}
return dataMsgTypes;
}
但这会创建 3 个新的饼图,而不是 1 个饼图中的 3 个切片。我发现了这个问题how-to-create-a-pie-chart-with-livecharts,解决方案是有多个PieSeries,但我不知道如何使用我表中的行来做到这一点。
【问题讨论】:
标签: c# pie-chart livecharts