回复 3楼wengyz的帖子
从你截图来看, 可能是垂直处的数据有问题, 下面是我的代码, 你可以测试一下:
- private void Form1_Load(object sender, EventArgs e)
- {
- _c1c.ChartGroups.Group0.ChartType = Chart2DTypeEnum.XYPlot;
- System.Data.DataTable data = new DataTable();
- data.Columns.Add("Name");
- data.Columns.Add("UnitsInStock", typeof(System.Int32));
- data.Columns.Add("ReorderLevel", typeof(System.Int32));
- data.Rows.Add("产品1", 20, 1);
- data.Rows.Add("产品2", 12, 2);
- data.Rows.Add("产品3", 16, 3);
- data.Rows.Add("产品4", 24, 3);
- data.Rows.Add("产品5", 22, 2);
- data.Rows.Add("产品6", 18, 3);
- data.Rows.Add("产品7", 25, 1);
- _c1c.Legend.Visible = true;
- _c1c.ChartArea.AxisY.Text = "单价";
- _c1c.ChartArea.AxisY2.Text = "数量";
- C1.Win.C1Chart.ChartDataSeriesCollection dscoll = null;
- // 创建系列对象
- dscoll = _c1c.ChartGroups[0].ChartData.SeriesList;
- dscoll.Clear();
- C1.Win.C1Chart.ChartDataSeries series = null;
-
- // 库存量
- series = dscoll.AddNewSeries();
- series.Label = "库存";
- series.SymbolStyle.Color = Color.Green;
- series.LineStyle.Pattern = LinePatternEnum.Solid;
- series.PointData.Length = data.Rows.Count;
- for (int i = 0; i < data.Rows.Count; i++)
- {
- series.X[i] = i;
- series.Y[i] = data.Rows[i]["UnitsInStock"];
- }
- // 再订购量
- series = dscoll.AddNewSeries();
- series.Label = "再订购量";
- series.SymbolStyle.Color = Color.Red;
- series.LineStyle.Pattern = LinePatternEnum.Solid;
- series.PointData.Length = data.Rows.Count;
- for (int i = 0; i < data.Rows.Count; i++)
- {
- series.X[i] = i;
- series.Y[i] = data.Rows[i]["ReorderLevel"];
- }
- _c1c.ChartArea.AxisY2.GridMajor.Visible = true;
- }
复制代码
此外, 从以上截图不能完全确定问题的原因, 要是方便的话你可以发个工程给我调试. |