MS Chart控件 - 饼图透明度

时间:2011-04-07 15:59:13

标签: c# asp.net mschart pie-chart

我正在尝试将饼图显示为透明。理想情况下,它应该看起来像这个页面左侧的第3个图表(link)。

到目前为止,我已尝试在chartArea上设置透明度:

<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 个答案:

答案 0 :(得分:3)

这似乎有效:

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

答案 1 :(得分:2)

我在MSDN网站上找到了答案:link

以下是最终为我工作的确切代码:

    protected void Page_Load(object sender, EventArgs e)
    {
        pieChart.Series[0].Palette = ChartColorPalette.SemiTransparent;
    }

答案 2 :(得分:2)

获得相同颜色的唯一方法是使用默认调色板并将所有点的alpha设置为220(这是他们在所有样本中使用的数字):

设置所有点后,使用此代码获得理想的效果:

myChart.ApplyPaletteColors();

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

答案 3 :(得分:-1)

谢谢!!因为我有同样的问题。现在我修复了我的应用程序,它现在正在工作! 我用:

myChart.ApplyPaletteColors();

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

引用标题

谢谢!! :)