WinForms:突出显示 X 和 Y 轴

WinForms: highlighting X and Y axes

我正在制作一个绘制抛物线的程序,我想使 X 轴和 Y 轴(来自 (0,0) 的轴)具有不同的颜色。我还没有找到这样做的任何选项,我找到的唯一解决方案是制作一个大网格并将其增量设置为图形大小的一半。有替代品吗?

我使用了默认的图表控件。我希望是这样的:

您可以设置 Crossing for axis to move the axis to center of chart. Also you can set LineWidth for axis to make it thicker. Also you can set ArrowStyle 在轴的末端有一个箭头。

例如,要有这样的图表:

使用这样的代码:

private void Form1_Load(object sender, EventArgs e)
{
    //Set Chart Margins
    this.chart1.ChartAreas[0].Position.Auto = false;
    this.chart1.ChartAreas[0].Position.X = 10;
    this.chart1.ChartAreas[0].Position.Y = 10;
    this.chart1.ChartAreas[0].Position.Width = 80;
    this.chart1.ChartAreas[0].Position.Height = 80;

    //Configure X Axis
    this.chart1.ChartAreas[0].AxisX.Crossing = 0;
    this.chart1.ChartAreas[0].AxisX.Interval = 1;
    this.chart1.ChartAreas[0].AxisX.LabelStyle.Enabled = false;
    this.chart1.ChartAreas[0].AxisX.LineWidth = 2;
    this.chart1.ChartAreas[0].AxisX.ArrowStyle =
        System.Windows.Forms.DataVisualization.Charting.AxisArrowStyle.Lines;

    //Configure Y Axis
    this.chart1.ChartAreas[0].AxisY.Crossing = 0;
    this.chart1.ChartAreas[0].AxisY.Interval = 5;
    this.chart1.ChartAreas[0].AxisY.LineWidth = 2;
    this.chart1.ChartAreas[0].AxisY.LabelStyle.Enabled = false;
    this.chart1.ChartAreas[0].AxisY.ArrowStyle =
        System.Windows.Forms.DataVisualization.Charting.AxisArrowStyle.Lines;

    //Set Chart Type
    this.chart1.Series[0].ChartType = 
        System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;

    //Set Data
    var p = new List<PointF>();
    for (int i = -5; i <= 5; i++)
    {
        p.Add(new PointF(i, i * Math.Abs(i)));
    }
    this.chart1.DataSource = p;
    this.chart1.Series[0].XValueMember = "X";
    this.chart1.Series[0].YValueMembers = "Y";
    this.chart1.Series[0].IsVisibleInLegend = false;
}