我现在做了一个mschart饼状图,不使用原来默认的颜色。想把各区,设置为特定的颜色。
请问:该如何设定呢?
我根据网上的代码,使用了 this.Chart1.Series[0].Points[0].Color = Color.Black;
但是,没有任何效果。显示的时候,仍然显示默认的颜色。
请问我做错了什么?使用这一句,需要注意什么问题?
还是应该使用别的方法。
如果您觉得我的提问,提供的信息不足,请您提示。
我根据您的提示,补充您需要的信息。
protected void Page_Load(object sender, System.EventArgs e)
{
DataTable dt = createtable();
Chart Chart1 = this.FindControl("Chart1") as Chart;
Chart1.Series[0].Points.DataBindXY(dt.AsEnumerable().Select(x => x["mingcheng"]).ToList(), dt.AsEnumerable().Select(x => x["shuliang"]).ToList());
Chart1.Series[0].ChartType = SeriesChartType.Pie;
Chart1.Series[0].Points[0].Color = Color.Green;
Chart1.Series[0].Points[1].Color = Color.Blue;
Chart1.Series[0].Points[2].Color = Color.Yellow;
Chart1.Series[0].Points[3].Color = Color.Red;
Chart1.Series[0].ChartArea = "ChartArea1";
Chart1.Series[0].XValueMember = "mingcheng";
Chart1.Series[0].YValueMembers = "shuliang";
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
namespace Q701079
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string[] xValues = { "30%", "20%", "50%" };
int[] yValues = {30, 20, 50 };
chart1.Series[0].ChartType = SeriesChartType.Pie;
chart1.Series[0].Points.DataBindXY(xValues, yValues);
chart1.Series[0].Points[0].Color = Color.DarkBlue;
chart1.Series[0].Points[1].Color = Color.Blue;
chart1.Series[0].Points[2].Color = Color.Azure;
}
}
}
我这里测试是可以的。你把你完整的代码贴出来看(如果有数据库的话,你把它分离掉),然后打包传百度云,我可以帮你看看。