2014-03-27 134 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已經屬於的語句。 –