我正在尝试使用代码创建条形图,其中条形图必须按用户名分组,但不知何故重复显示问题标签,如下所示
我的数据表就像是,
Question="Gravimetry"
Project-test1=0
Project-test2=1
Question="Sub-Surface"
Project-test1=0
Project-test2=2
Question="VSP"
Project-test1=2
Project-test2=3
.....
C#是,
Series Series = new Series("Series1");
Chart4.Series.Add("Series1");
Chart4.Series.Add("Series2");
Chart4.ChartAreas.Add("ChartArea1");
// Set series chart type
Chart4.Series["Series1"].ChartType = SeriesChartType.Bar;
Chart4.Series["Series2"].ChartType = SeriesChartType.Bar;
// Set series point width
Chart4.Series["Series1"]["PointWidth"] = "0.6";
Chart4.Series["Series2"]["PointWidth"] = "0.6";
// Show data points labels
Chart4.Series["Series1"].IsValueShownAsLabel = true;
Chart4.Series["Series2"].IsValueShownAsLabel = true;
// Set data points label style
Chart4.Series["Series1"]["BarLabelStyle"] = "Center";
Chart4.Series["Series2"]["BarLabelStyle"] = "Center";
// Draw as 3D Cylinder
Chart4.Series["Series1"]["DrawingStyle"] = "Cylinder";
Chart4.Series["Series2"]["DrawingStyle"] = "Cylinder";
Chart4.DataSource = dt.DefaultView;
Chart4.ChartAreas["ChartArea1"].AxisX.Interval = 1;
Chart4.Series["Series1"].XValueMember = "Question";
//Chart4.Series["Series1"].YValuesPerPoint = 2;
Chart4.Series["Series1"].YValueMembers = "Project-test1";
Chart4.Series["Series2"].YValueMembers = "Project-test2";
Chart4.DataBind();
非常感谢任何帮助!
答案 0 :(得分:0)
看看Chart.DataBindTable method;它似乎绑定到表并按列提供分组。例如:
Chart4.DataBindTable(dt, "Question");
应为表中的每个附加列创建一个系列,按“问题”列进行分组。
如果您需要更多自定义,还有Chart.DataBindCrossTable method,它允许您指定用于创建系列值的列。