Как изменить угол обзора и значение метки диаграммы .NET C # - PullRequest
7 голосов
/ 22 февраля 2011

Краткое описание

Я использую диаграммы для конкретного приложения, где мне нужно изменить угол обзора визуализированной трехмерной круговой диаграммы и значение автоматических меток с имен круговых меток на соответствующие круговые значения.

Вот как выглядит график: Pie Chart


инициализация

Вот как я его инициализирую:

    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>, где ключ - это персона , а значение равно * 1023 сумма *.


Задача № 1

Мне нужно изменить помеченные метки с имен людей на сумм или добавить другую метку сумм с такими же цветами (см. Рисунок). enter image description here


Задача № 2

Другая проблема заключается в том, что мне нужно изменить угол обзора 3D круговой диаграммы. Может быть, это очень просто, и я просто не знаю нужного свойства или, может быть, мне нужно переопределить какое-нибудь событие рисования. В любом случае будут оценены любые способы.

Заранее спасибо, Джордж.

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

Решение задачи № 1

Помогло добавление новой метки и заполнение пользовательскими значениями. Кроме того, я изменил Series.IsValueShownAsLabel = true;


Решение проблемы № 2

Я должен был установить ChartArea.Area3DStyle.IsClustered = true;, а затем установить ChartArea.Area3DStyle.Inclination;

0 голосов
/ 01 июня 2012

Используйте xlhart.Rotation и xlchart.Elevation.

...