2017-01-30 3 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(); 
} 

Но я хочу, чтобы отобразить Yvalue как описание в картине я не знаю, что это называется. (См рисунок ниже)

Вот диаграмма, которую я хочу:

The Chart which i want

Я пытался искать на Google, но до сих пор не могу это сделать. Мне очень жаль моего плохого английского.

Надеюсь, что кто-нибудь может мне помочь.

+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 тип диаграммы представляет собой вариант линии диаграммы, значительно сокращает время рисования из серии, которая содержит очень большое количество точек данных. Используйте эту диаграмму в ситуациях, когда используются очень большие наборы данных, и скорость рендеринга имеет решающее значение.

Некоторые графические функции не указаны на диаграмме FastLine, чтобы улучшить производительность . Опускаемые функции включают управление уровнями визуальных атрибутов, маркеров, меток точек данных и теней.

Это по дизайну, чтобы сохранить рисунок быстро. Кроме исполнения и тех ограничений, которые они одинаковы, то есть они будут похожи друг на друг ..

Теперь вы можете установить либо

yourSeries.IsValueShownAsLabel = true; 

для целого Seriesили выбрать несколько значений и показать их значение а Labels:

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

Большое спасибо. Я уже перешел на линейную диаграмму. –

Смежные вопросы