这几天一直在纠结这个问题,为什么给进去的数据时一样的,画出来的图却有问题,我刚刚接触ZEDgraph请高手指点
源码如下:
private void Form1_Load(object sender, EventArgs e) { try { ZedGraph.GraphPane gp = zedGraphControl1.GraphPane; gp.Title.Text = "销售统计"; //圖表的表頭 gp.XAxis.Title.Text = "時間"; //X軸的名稱 gp.YAxis.Title.Text = "金額"; //Y軸的名稱 DataSet ds = GetDataSet(); ZedGraph.DataSourcePointList dsp = new ZedGraph.DataSourcePointList(); dsp.DataSource = ds.Tables["book"]; dsp.XDataMember = "Monthly"; dsp.YDataMember = "Money"; ZedGraph.BarItem bi = gp.AddBar("Test", dsp, System.Drawing.Color.Red); PointPairList list1 = new PointPairList(); for (int i = 0; i < 15; i++) { double x = (double)i + 2; double y1 = 15 + Math.Sin((double)i * 0.99); list1.Add(x, y1); } LineItem _lineitem2 = gp.AddCurve(gp.Title.Text, list1, Color.Blue, SymbolType.None); gp.AxisChange(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } private DataSet GetDataSet() { DataTable dt = new DataTable("book"); dt.Columns.Add("Monthly"); dt.Columns.Add("Money"); for (int i = 1; i < 15; i++) { DataRow dr = dt.NewRow(); dr["Monthly"] = (double)i + 2; dr["Money"] = 15 + Math.Sin((double)i * 0.99); dt.Rows.Add(dr); } DataSet ds = new DataSet(); ds.Tables.Add(dt); return ds; }
但是绘制出来的图像如下:
问题:
DataSet ds = GetDataSet(); ZedGraph.DataSourcePointList dsp = new ZedGraph.DataSourcePointList(); dsp.DataSource = ds.Tables["book"]; dsp.XDataMember = "Monthly"; dsp.YDataMember = "Money";
我获取到数据集后,讲数据集中的book表的Monthly列赋给x轴,money赋给y轴,为什么绘制出来的柱状图却是y=x的形式,
而不是 dr["Money"] = 15 + Math.Sin((double)i * 0.99);
希望用过zedgraph的高手指教。。。。
上图中柱状图和折线图的数据是一样的,为什么绘制出来的结果却不同呢?