Как добавить метки как внутри, так и вне графика - PullRequest
1 голос
/ 11 июля 2019

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

Я попытался добавить значения к нему, он работает внутри или снаружи. Я хочу отобразить VALX и VALY на своем графике Как я могу это сделать?

Я хочу, чтобы мой график выглядел так. enter image description here

XmlNodeList xnList = xml.SelectNodes("/Report/Parameters/Parameter");

var chart = new Chart();
chart.Height = 600;
chart.Width = 900;
ArrayList xAxisData = new ArrayList();
ArrayList yAxisData = new ArrayList();
string title = "Motility";
chart.Titles.Add(title);

var chartArea1 = new ChartArea();
chart.ChartAreas.Add(chartArea1);
chart.ChartAreas[0].AlignmentStyle = AreaAlignmentStyles.All;
Series series1;
xAxisData.Clear();
yAxisData.Clear();

string seriesName1 = " ";
byte ColorIndex = 0;
series1 = new Series();
seriesName1 = "Pie Chart";
series1.Name = seriesName1;
series1.ChartType = SeriesChartType.Pie;
chart.Series.Add(series1);
chart.ChartAreas[0].Area3DStyle.Enable3D = true;
chart.ChartAreas[0].Area3DStyle.Inclination = 40;
chart.ChartAreas[0].BorderColor = Color.Black;
chart.ChartAreas[0].Area3DStyle.WallWidth = 20;
chart.Series[seriesName1]["3DLabelLineSize"] = "30";
chart.Series[seriesName1].IsVisibleInLegend = false;

foreach (KeyValuePair<string, ReportParameter> pair in T_NewChart.parameters)
{
    chart.Series[seriesName1].Points.AddXY((pair.Value.Name), pair.Value.Values[0]));

    if (ColorIndex == 0)
    {
        chart.Series[seriesName1].Points[0].Color = Color.Green;
        chart.Series[seriesName1].Label = "#VALX";
        chart.Series[seriesName1]["PieLabelStyle"] = "Outside";
        chart.Series[seriesName1].BorderColor = Color.Black;
        chart.Series[seriesName1].Points[0].Label = "Total";
        chart.Series[0].Font = new System.Drawing.Font("Arial", 15F);
    }
    else if (ColorIndex == 1)
    {
        chart.Series[seriesName1].Points[1].Color = Color.Yellow;
        chart.Series[seriesName1].Points[1].Label = "Non";

    }
    else if (ColorIndex == 2)
    {
        chart.Series[seriesName1].Points[2].Color = Color.Red;
        chart.Series[seriesName1].Points[2].Label = "Few";
    }
    ColorIndex++;

}
chart.SaveImage("C:\\NewPie_chart.png", ChartImageFormat.Png);

Я могу отображать только «Имя», но хочу отобразить «Имя» (VALX) вне графика и «Значение» (VALY) внутри графика.

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