Synfusion 饼图仅显示 y 值。如何添加 x 值作为标签?

问题描述 投票:0回答:1

我目前正在开发一个 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
对象。

你们中有人知道我该如何解决这个问题吗?提前非常感谢!

c# charts console-application syncfusion
1个回答
0
投票

使用样式的数据标签中的 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;

        }

PieChart Output

© www.soinside.com 2019 - 2024. All rights reserved.