【问题标题】:How to create a line from (0,0) to (0,n) in WinForms chart?如何在 WinForms 图表中创建从 (0,0) 到 (0,n) 的线?
【发布时间】:2019-12-26 20:51:31
【问题描述】:

我尝试使用 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) 的线时,一切正常。

如何解决?原因是什么?

【问题讨论】:

  • This may be related - Imo 这是一个错误。解决方法:首先添加一个虚拟对象:series.Points.AddXY(0.0002, 0);。你可能想让它透明..

标签: c# winforms charts point


【解决方案1】:

据我所知,当所有 X 值都是 0 时,图表不尊重 0 的值,因此开始将您的系列视为您将数据点的索引缩进为您的 @ 987654324@值。

添加具有至少 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);

    }
}

【讨论】:

    猜你喜欢
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 2021-12-18
    • 2020-05-03
    • 1970-01-01
    • 2020-05-13
    相关资源
    最近更新 更多