Используйте AxisLabel
свойство DataPoint
. Описание свойства AxisLabel
:
Получает или задает текст метки ось X для точки данных, ряда или пустой точки. Это свойство используется только в том случае, если для соответствующего объекта Axis не указана пользовательская метка.
Таким образом, ваш код может выглядеть так:
DataPoint dp1 = new DataPoint(1, 1);
dp1.AxisLabel = "Frogs";
DataPoint dp2 = new DataPoint(2, 4);
dp2.AxisLabel = "Hogs";
DataPoint dp3 = new DataPoint(3, 9);
dp3.AxisLabel = "Bogs";
DataPoint dp4 = new DataPoint(4, 6);
dp4.AxisLabel = "Slogs";
chart1.Series[0].Points.Add(dp1);
chart1.Series[0].Points.Add(dp2);
chart1.Series[0].Points.Add(dp3);
chart1.Series[0].Points.Add(dp4);
Или вы можете применить 1 = Frogs, 2 = Hogs, 3 = Bogs и 4 = Slogs с помощью следующего кода:
chart1.ChartAreas[0].AxisX.MajorGrid.Enabled = false;
chart1.ChartAreas[0].AxisY.MajorGrid.Enabled = false;
chart1.Series[0].MarkerStyle = MarkerStyle.Circle;
chart1.Series[0].MarkerBorderColor = System.Drawing.Color.Black;
chart1.Series[0].MarkerColor = System.Drawing.Color.Red;
chart1.Series[0].Points.AddXY(1, 1);
chart1.Series[0].Points.AddXY(2, 4);
chart1.Series[0].Points.AddXY(3, 9);
chart1.Series[0].Points.AddXY(4, 6);
foreach (DataPoint dp in chart1.Series[0].Points)
{
switch ((int)dp.XValue)
{
case 1: dp.AxisLabel = "Frogs"; break;
case 2: dp.AxisLabel = "Hogs"; break;
case 3: dp.AxisLabel = "Bogs"; break;
case 4: dp.AxisLabel = "Slogs"; break;
}
}
Чтобы добиться действительно того же, что и на картинке - оси с обеих сторон - вам нужно будет использовать следующий трюк.
Он работает только для оси X, для оси Y вы можете добавить собственные метки, как описано здесь.
Вы также можете использовать метки точек данных, которые отображаются внутри диаграммы, используя IsValueShownAsLabel.
person
Vojtěch Dohnal
schedule
09.11.2014