我正在尝试将饼图显示为透明。理想情况下,它应该看起来像这个页面左侧的第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);
}
}
然而,这些方法都不起作用。有没有人设法在这种类型的图表控件上设置透明度?
答案 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);
}
}
谢谢!! :)