MSChart:标签在条形图中以X轴重复

时间:2013-04-02 17:14:24

标签: c# mschart

我正在尝试使用代码创建条形图,其中条形图必须按用户名分组,但不知何故重复显示问题标签,如下所示

enter image description here

我的数据表就像是,

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();

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

看看Chart.DataBindTable method;它似乎绑定到表并按列提供分组。例如:

Chart4.DataBindTable(dt, "Question");

应为表中的每个附加列创建一个系列,按“问题”列进行分组。

如果您需要更多自定义,还有Chart.DataBindCrossTable method,它允许您指定用于创建系列值的列。