2014-03-27 79 views
1

请告诉我是否缺少一些需要设置的设置。 正如我在图中,我在我的X ASIS越来越列值,而不是0 1 2 3 4 5 6 7 8 9将csv文件导入到DataTable并将列与图表绑定

private void button2_Click(object sender, EventArgs e) 
    {  

     chart1.DataSource = csvData; 
     chart1.ChartAreas[0].AxisX.Minimum = 0; 
     chart1.ChartAreas[0].AxisX.Maximum = 10; 
     chart1.ChartAreas[0].AxisX.Minimum = -5; 
     chart1.ChartAreas[0].AxisX.Maximum = 5; 

     chart1.Series["Series2"].YValueMembers = "Column name"; 
     chart1.Series["Series2"].XValueMember = "Column name"; 
     chart1.DataBind(); 

    } 




} 
} 

回答

0

私人无效button2_Click(对象发件人,EventArgs的) {

DataTable dtCloned = csvData.Clone(); 
    dtCloned.Columns["column name"].DataType = typeof(double); 
    dtCloned.Columns["column name"].DataType = typeof(double); 

    chart1.DataSource = dtCloned; 
    chart1.ChartAreas[0].AxisX.Minimum = 0; 
    chart1.ChartAreas[0].AxisX.Maximum = 10; 
    chart1.ChartAreas[0].AxisX.Minimum = -5; 
    chart1.ChartAreas[0].AxisX.Maximum = 5; 

    chart1.Series["Series2"].YValueMembers = "Delta_Sigma"; 
    chart1.Series["Series2"].XValueMember = "CpK_Refrence"; 
    chart1.DataBind(); 

}

0

啊好,我现在明白你的问题。问题是,当你从csv读取数据时,它会将所有数据作为字符串添加,然后图表将以字符串的形式读取值,这就是为什么Chart1.ChartAreas(0).AxisX.Maximum = 10没有更改轴。

您需要更改从csv读取数据的方式。从本质上讲,你需要添加

csvData.Columns["CpK_Refrence"].DataType = GetType(Integer) 

之前的任何数据添加到DataTable [你不能改变一个列类型,一旦数据被添加。如果所有的列都将数字然后更改下方,以便所有列是数字列

DataColumn datecolumn = new DataColumn(column); 
'TO 
DataColumn datecolumn = new DataColumn("Column1", typeof(double)); 
+0

http://imgur.com/ZI3OPYX我希望图表看起来像这样 –

+0

请参阅编辑的答案 – TylerDurden

+0

我无法编辑它所说的datecolumn已经属于的语句。 –