Come dare etichette personalizzate per asse x del grafico di controllo?

Sto creando un progetto di windows in cui vi è un requisito per tracciare un grafico, per questo sto utilizzando il grafico di controllo.

L’Asse X del grafico di controllo ha etichetta da 0 a 100 con il codice riportato di seguito.

chart1.ChartAreas[0].AxisX.Minimum = 0;
chart1.ChartAreas[0].AxisX.Maximum = 100;

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

chart1.ChartAreas[0].AxisX.Interval = 25;
chart1.ChartAreas[0].AxisY.Interval = 25;

Ma voglio personalizzare l’etichetta dell’Asse X da 100 a 0.

Ho provato seguenti cose.

chart1.ChartAreas[0].AxisX.Minimum = 0;
chart1.ChartAreas[0].AxisX.Maximum = 100;

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

chart1.ChartAreas[0].AxisX.Interval = 25;
chart1.ChartAreas[0].AxisY.Interval = 25;



string[] xval = { "100", "75", "50", "25", "0" };
for (int i = 0; i < xval.Length; i++)
{
  chart1.ChartAreas[0].AxisX.CustomLabels.Add(i + 0.5, i + 1.5, xval[i]);
  //chart1.ChartAreas[0].AxisX.CustomLabels.Add(xval[i]);
}

Series S1 = new Series();
S1.Points.AddXY(184,10);
S1.Points.AddXY(100,10);
S1.ChartType = SeriesChartType.Line;
S1.Color = Color.Red;
S1.Name = "Steam Inlet Saturation Temp";
chart1.Series.Add(S1);

Series S2 = new Series();
S2.Points.AddXY(100, 10);
S2.Points.AddXY(0, 10);
S2.ChartType = SeriesChartType.Line;
S2.Color = Color.Blue;
S2.Name = "Back Pressure Temp";
chart1.Series.Add(S2);

Ma questa cosa non sta funzionando per me.

C’è chi l’ha fatto prima? La vostra risposta sarà molto apprezzato, grazie.

  • Non è molto chiaro quello che stai cercando di chiedere qui, ma hai provato a Chart1.ChartAreas["MyChartArea"].AxisX.Title = "MyTitle";
  • non voglio che il titolo per il mio grafico voglio personalizzare la mia etichette dell’Asse x da 100 a 0 con un intervallo di 25.
  • Diritto ottenere quello che vuoi dire. Hanno un look here potrebbe essere di qualche utilità per voi.
  • Come hai visto nella mia domanda ho già provato, ma non il suo lavoro, per me, non so perché?

 

One Reply
  1. 2

    Seguente è la soluzione alla mia domanda.

    string[] monthNames = { "100", "75" , "50" , "25" ,"0"};
    int startOffset = -2;
    int endOffset = 2;
    foreach (string monthName in monthNames)
    {
     CustomLabel monthLabel = new CustomLabel(startOffset, endOffset, monthName, 0, LabelMarkStyle.None);                        
     chart1.ChartAreas[0].AxisX.CustomLabels.Add(monthLabel);
     startOffset = startOffset + 25;
     endOffset = endOffset + 25;
    }

Lascia un commento