我通过devexpress winforms控件绘制了一张图表。 DateTime在X轴上,Y轴的值很少。我提供的数据不定期包含轴数据。例如,它将拥有今天的数据,今天的3天,今天的1年后的数据等等 - 它们的位置不同。我想强调已提供数据的数据点。我使用以下方法显示了网格线:
((XYDiagram)chartControl1.Diagram).AxisX.GridLines.MinorVisible = true;
((XYDiagramchartControl1.Diagram).AxisY.GridLines.Visible = true;
((XYDiagram)chartControl1.Diagram).AxisY.GridLines.MinorVisible = true;
但是这会以相等的间隔和间距绘制网格线。我怎样才能特别突出我给出的数据点......
答案 0 :(得分:3)
我希望我能正确理解你:)
您可以使用Constant Lines!
private void Form1_Load(object sender, EventArgs e)
{
Series series1 = new Series("Series 1", ViewType.Point);
series1.Points.Add(new SeriesPoint(1, 50));
series1.Points.Add(new SeriesPoint(2, 150));
series1.Points.Add(new SeriesPoint(4, 20));
series1.Points.Add(new SeriesPoint(7, 210));
series1.Points.Add(new SeriesPoint(12, 70));
chartControl1.Series.Add(series1);
XYDiagram diagram = chartControl1.Diagram as XYDiagram;
foreach (SeriesPoint item in series1.Points)
{
DrawConstantLines(diagram, int.Parse(item.Argument), diagram.AxisX);
DrawConstantLines(diagram, (int)item.Values[0], diagram.AxisY);
}
}
private void DrawConstantLines(XYDiagram diagram, int value, Axis axis)
{
ConstantLine constantLine1 = new ConstantLine();
axis.ConstantLines.Add(constantLine1);
constantLine1.AxisValue = value;
}