如何在 WinForms 图表中创建一条从 (0,0) 到 (0,n) 的线?
How to create a line from (0,0) to (0,n) in WinForms chart?
我尝试使用 Winforms 图表绘制一条从 (0,0) 到 (0,3) 的线,但它正在绘制一条从 (1,0) 到 (2,3) 的线。第二点的任何其他 Y 值都会发生同样的事情。
public partial class Form1 : Form
{
private Series series = new Series("series")
{
ChartType = SeriesChartType.Line,
Color = Color.Red
};
public Form1()
{
InitializeComponent();
series.Points.AddXY(0, 0);
series.Points.AddXY(0, 3);
chart1.Series.Add(series);
chart1.ChartAreas[0].AxisX.Minimum = -2;
chart1.ChartAreas[0].AxisX.Maximum = 5;
chart1.ChartAreas[0].AxisY.Minimum = -2;
chart1.ChartAreas[0].AxisX.Maximum = 5;
chart1.ChartAreas[0].AxisX.Interval = 1;
chart1.ChartAreas[0].AxisY.Interval = 1;
}
}
当我尝试创建从 (0,0) 到 (2,3) 的直线时,一切正常。
如何解决,是什么原因?
据我所知,当所有 X
值都是 0
时,图表不考虑 0
的值,因此开始将您的系列视为缩进索引的数据点是您的 X
值。
添加至少有 1 个非 0 数据点的第二个系列 X
,将解决问题。
public partial class Form1 : Form
{
private Series series = new Series("series")
{
ChartType = SeriesChartType.Line,
Color = Color.Red
};
private Series correction = new Series("correction")
{
ChartType = SeriesChartType.Line,
Color = Color.Transparent,
IsVisibleInLegend = false,
IsValueShownAsLabel = false,
};
public Form1()
{
InitializeComponent();
series.Points.AddXY(0, 0);
series.Points.AddXY(0, 3);
chart1.Series.Add(series);
correction.Points.AddXY(1, 1);
chart1.Series.Add(correction);
}
}
我尝试使用 Winforms 图表绘制一条从 (0,0) 到 (0,3) 的线,但它正在绘制一条从 (1,0) 到 (2,3) 的线。第二点的任何其他 Y 值都会发生同样的事情。
public partial class Form1 : Form
{
private Series series = new Series("series")
{
ChartType = SeriesChartType.Line,
Color = Color.Red
};
public Form1()
{
InitializeComponent();
series.Points.AddXY(0, 0);
series.Points.AddXY(0, 3);
chart1.Series.Add(series);
chart1.ChartAreas[0].AxisX.Minimum = -2;
chart1.ChartAreas[0].AxisX.Maximum = 5;
chart1.ChartAreas[0].AxisY.Minimum = -2;
chart1.ChartAreas[0].AxisX.Maximum = 5;
chart1.ChartAreas[0].AxisX.Interval = 1;
chart1.ChartAreas[0].AxisY.Interval = 1;
}
}
当我尝试创建从 (0,0) 到 (2,3) 的直线时,一切正常。
如何解决,是什么原因?
据我所知,当所有 X
值都是 0
时,图表不考虑 0
的值,因此开始将您的系列视为缩进索引的数据点是您的 X
值。
添加至少有 1 个非 0 数据点的第二个系列 X
,将解决问题。
public partial class Form1 : Form
{
private Series series = new Series("series")
{
ChartType = SeriesChartType.Line,
Color = Color.Red
};
private Series correction = new Series("correction")
{
ChartType = SeriesChartType.Line,
Color = Color.Transparent,
IsVisibleInLegend = false,
IsValueShownAsLabel = false,
};
public Form1()
{
InitializeComponent();
series.Points.AddXY(0, 0);
series.Points.AddXY(0, 3);
chart1.Series.Add(series);
correction.Points.AddXY(1, 1);
chart1.Series.Add(correction);
}
}