MS Chart control - круговая диаграмма прозрачности - PullRequest
4 голосов
/ 07 апреля 2011

Я пытаюсь сделать круговую диаграмму прозрачной.В идеале это должно выглядеть как третий график слева на этой странице ( ссылка ).

До сих пор я пытался установить прозрачность на графике. Область:

<asp:ChartArea Name="ChartArea1" BackColor="64, 165, 191, 228" BackGradientStyle="TopBottom" 
            BackSecondaryColor="Transparent" BorderColor="64, 64, 64, 64"  
            ShadowColor="Transparent">

Также я попытался установить его из codebehind:

    protected void pieChart_Customize(object sender, EventArgs e)
    {
        foreach (Series s in pieChart.Series)
        {
            s.Color = Color.FromArgb(128, s.Color);
        }
    }

Однако ни один из этих подходов не работает.Кому-нибудь удалось установить прозрачность для этого типа элемента управления диаграммой?

Ответы [ 4 ]

3 голосов
/ 08 апреля 2011

Это похоже на работу:

protected void Button1_Click(object sender, EventArgs e)
{
    Chart1.Series[0].Points[0].Color = Color.FromArgb(100, Color.Blue);
}

Ссылка: http://msdn.microsoft.com/en-us/library/1hstcth9%28v=vs.110%29.aspx

2 голосов
/ 10 февраля 2012

Единственный способ получить тот же цвет - это использовать палитру по умолчанию и установить альфа для всех точек равным 220 (это число, которое они используют во всех образцах):

Используйте этот код, чтобы получить желаемыйэффект после установки всех точек:

myChart.ApplyPaletteColors();

foreach (var series in myChart.Series)
{
    foreach (var point in series.Points)
    {
        point.Color = Color.FromArgb(220, point.Color);
    }
}
2 голосов
/ 12 апреля 2011

Я нашел ответ на сайте MSDN: ссылка

Вот точный код, который работал для меня:

    protected void Page_Load(object sender, EventArgs e)
    {
        pieChart.Series[0].Palette = ChartColorPalette.SemiTransparent;
    }
0 голосов
/ 25 сентября 2012

Спасибо!потому что у меня была такая же проблема.теперь я исправил свое приложение и теперь оно работает !!Я использую:

myChart.ApplyPaletteColors();

foreach (var series in myChart.Series)
{
    foreach (var point in series.Points)
    {
        point.Color = Color.FromArgb(220, point.Color);
    }
}

Цитируемый заголовок

Спасибо!:)

...