2017-01-30 56 views
1

我很難用英文解釋。 目前,我創建瞭如下圖所示的圖表。C#快速折線圖

My Chart

與此代碼:

public void CreateChart(DataTable chartTable ,string serieName) 
{ 

    var chartArea = new ChartArea(); 
    chartArea.AxisX.LabelStyle.Format = "dd/MM/yyy"; 
    chartArea.AxisX.MajorGrid.LineColor = Color.LightGray; 
    chartArea.AxisY.MajorGrid.LineColor = Color.LightGray; 
    chartArea.AxisX.LabelStyle.Font = new Font("Consolas", 6); 
    chartArea.AxisY.LabelStyle.Font = new Font("Consolas", 6); 
    chart1.ChartAreas.Add(chartArea); 


    var series = new Series(); 
    series.Name = "TEMP_STACK_BOILER_1"; 
    series.ChartType = SeriesChartType.FastLine; 
    series.XValueType = ChartValueType.DateTime; 
    series.YValueType = ChartValueType.Double; 
    chart1.Series.Add(series); 



    int lastrow = chartTable.Rows.Count - 4; 

    string[] xval = new string[lastrow]; 
    int[] yval = new int[lastrow]; 


    // bind the datapoints 

    chart1.ChartAreas[0].AxisY.Maximum = 1000; 
    chart1.ChartAreas[0].AxisY.Minimum = 0; 

    for (int i = 0; i < lastrow; i++) 
    { 
     xval[i] = chartTable.Rows[i][1].ToString() + "\r\n" +chartTable.Rows[i][0].ToString() ; 
     yval[i] = Convert.ToInt32(chartTable.Rows[i][serieName]);   
    } 

    chart1.Series[serieName].Points.DataBindXY(xval, yval); 
    chart1.Invalidate(); 
} 

但我想顯示y值如圖片 說明我不知道什麼叫。 (請參見下圖)

這裏是我想要的圖表:

The Chart which i want

我試圖在谷歌搜索,但仍無法做到這一點。 我真的很抱歉我的英文不好。

希望任何人都可以幫助我。

+0

看看[此](http://stackoverflow.com/questions/13839359/display-values-on-bars-of-a-bar-chart-in-asp-net ) –

+0

非常感謝你,Mong Zhu –

回答

2

您必須切換到ChartType.Line

有一定restrictions for FastLine charts

的快繩圖表類型是折線圖,其中 顯著減少包含 非常大量的數據點的串聯的繪圖時間的變化。在使用非常大的數據集並且渲染速度至關重要的情況下使用此圖表。

從FastLine圖表中省略了一些圖表功能以提高 的性能。省略的功能包括控制點級 視覺屬性,標記,數據點標籤和陰影。

這是設計來保持繪圖的快速。除了性能和那些它們是相同的,即它們看上去都差不多限制..

現在,您可以設置要麼

yourSeries.IsValueShownAsLabel = true; 

了整整Series挑選一些值,並顯示它們的值作爲Labels

yourSeries.Points[someIndex].IsValueShownAsLabel = true; 
+0

非常感謝。我已經轉換到折線圖。 –