我目前正在开发一个 C# 控制台应用程序,该应用程序使用 Syncfusion 库 (v20.4.0.53) 创建各种图表并将其保存为图像。
到目前为止一切都很顺利,我快完成了。不幸的是,我遇到了饼图类型的问题。我希望 ChartSeries 的所有 x 值(字符串)在图表中显示为文本,所有 y 值(整数)显示在右上角的图例中,但我无法实现此功能。两个地方都只显示数值。
// Create Chart-Control
ChartControl chart = new ChartControl();
chart.Series.Clear();
chart.Size = new Size( 1920, 950 );
// Create Chart-Series
ChartSeries series = new ChartSeries("ExampleChart", ChartSeriesType.Pie);
series.Points.Add( "Value 1", 25 );
series.Points.Add( "Value 2", 75 );
// Add Chart-Series to Chart-Control
chart.Series.Add( series );
chart.Series[0].Style.DisplayText = true;
// Save Chart to image
chart.SaveImage( "image.png" );
我已经研究了很多并尝试了不同的解决方案,例如设置
ShowDataPointLabels = true
。在官方文档中,图表如下所示:
我还尝试创建一个新的
ChartLegend
并将其手动添加到 ChartSeries
,但我无法添加多个 ChartLegendItem
对象。
你们中有人知道我该如何解决这个问题吗?提前非常感谢!
使用样式的数据标签中的 X 值。文本属性已显示。以下是代码片段和图像。
ChartSeries series = new ChartSeries("ExampleChart", ChartSeriesType.Pie);
series.Points.Add("Value 1", 25);
series.Points.Add("Value 2", 75);
series.Points.Add("Value 3", 50);
series.Points.Add("Value 4", 45);
chart.Series.Add(series);
chart.Series[0].Style.DisplayText = true;
for (int i = 0; i < series.Points.Count; i++)
{
series.Styles[i].Text = series.Points[i].Category;
}