7

简短的介绍

我正在将图表用于特定应用程序,我需要将渲染的 3D 饼图的视角和自动标签的值从饼图标签名称更改为相应的饼图值。

这是图表的外观: 饼形图


初始化

这就是我初始化它的方式:

    Dictionary<string, decimal> secondPersonsWithValues = HistoryModel.getSecondPersonWithValues();
    decimal[] yValues = new decimal[secondPersonsWithValues.Values.Count]; //VALUES
    string[] xValues = new string[secondPersonsWithValues.Keys.Count]; //LABELS
    secondPersonsWithValues.Keys.CopyTo(xValues, 0);
    secondPersonsWithValues.Values.CopyTo(yValues, 0);
    incomeExpenseChart.Series["Default"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Pie;
    incomeExpenseChart.Series["Default"].Points.DataBindXY(xValues, yValues);
    incomeExpenseChart.ChartAreas["Default"].Area3DStyle.Enable3D = true;
    incomeExpenseChart.Series["Default"].CustomProperties = "PieLabelStyle=Outside";
    incomeExpenseChart.Legends["Default"].Enabled = true;
    incomeExpenseChart.ChartAreas["Default"].Area3DStyle.LightStyle = System.Windows.Forms.DataVisualization.Charting.LightStyle.Realistic;
    incomeExpenseChart.Series["Default"]["PieDrawingStyle"] = "SoftEdge";

基本上,我使用 查询数据库中的数据HistoryModel.getSecondPersonWithValues();以获取对,Dictionary<string, decimal>其中keypersonvalueammount


问题 #1

我需要的是能够将标记的标签从人名更改为安装或添加另一个具有相同颜色的安装量标签(参见图片)。 在此处输入图像描述


问题 #2

另一个问题是我需要更改 3D 饼图的视角。也许这很简单,我只是不知道所需的属性,或者我需要覆盖一些绘画事件。无论哪种方式,任何一种方式都会被应用。

在此先感谢乔治。

4

2 回答 2

1

问题 #1 的解决方案

添加新标签并填充自定义值有帮助。另外我改变了Series.IsValueShownAsLabel = true;


问题 #2 的解决方案

我应该设置ChartArea.Area3DStyle.IsClustered = true;然后设置ChartArea.Area3DStyle.Inclination;

于 2011-02-24T09:15:58.593 回答
0

使用xlhart.Rotationxlchart.Elevation

于 2012-06-01T12:52:47.700 回答