C# WinForms:高亮显示X轴和Y轴

C# WinForms:高亮显示X轴和Y轴,c#,.net,winforms,mschart,C#,.net,Winforms,Mschart,我正在制作一个绘制抛物线的程序,我想让X轴和Y轴(从(0,0)开始的轴)变成不同的颜色。我还没有找到任何这样做的选项,我找到的唯一解决方案是制作一个大网格,并将其增量设置为图形大小的一半。还有别的选择吗 我使用了默认的图表控件。我期望的是: 您可以设置为轴,将轴移动到图表的中心。还可以设置“轴”以使其更厚。也可以设置为在轴的末端有一个箭头 例如,要获得如下图表: 使用以下代码: private void Form1_Load(object sender, EventArgs e) {

我正在制作一个绘制抛物线的程序,我想让X轴和Y轴(从(0,0)开始的轴)变成不同的颜色。我还没有找到任何这样做的选项,我找到的唯一解决方案是制作一个大网格,并将其增量设置为图形大小的一半。还有别的选择吗


我使用了默认的图表控件。我期望的是:

您可以设置为轴,将轴移动到图表的中心。还可以设置“轴”以使其更厚。也可以设置为在轴的末端有一个箭头

例如,要获得如下图表:

使用以下代码:

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;
}
private void Form1\u加载(对象发送方,事件参数e)
{
//设置图表边距
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;
//配置X轴
this.chart1.ChartAreas[0].AxisX.Crossing=0;
this.chart1.ChartAreas[0].AxisX.Interval=1;
this.chart1.ChartAreas[0].axix.LabelStyle.Enabled=false;
this.chart1.ChartAreas[0].AxisX.LineWidth=2;
此.chart1.ChartAreas[0].AxisX.ArrowStyle=
System.Windows.Forms.DataVisualization.Charting.AxisArrowStyle.Lines;
//配置Y轴
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;
此.chart1.ChartAreas[0].AxisY.ArrowStyle=
System.Windows.Forms.DataVisualization.Charting.AxisArrowStyle.Lines;
//设置图表类型
此.chart1.Series[0]。ChartType=
System.Windows.Forms.DataVisualization.Charting.SerieChartType.Spline;
//设置数据
var p=新列表();
对于(int i=-5;i您可以设置为axis以将轴移动到图表的中心。也可以设置为axis以使其更厚。还可以设置为在轴的末端有一个箭头

例如,要获得如下图表:

使用以下代码:

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;
}
private void Form1\u加载(对象发送方,事件参数e)
{
//设置图表边距
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;
//配置X轴
this.chart1.ChartAreas[0].AxisX.Crossing=0;
this.chart1.ChartAreas[0].AxisX.Interval=1;
this.chart1.ChartAreas[0].axix.LabelStyle.Enabled=false;
this.chart1.ChartAreas[0].AxisX.LineWidth=2;
此.chart1.ChartAreas[0].AxisX.ArrowStyle=
System.Windows.Forms.DataVisualization.Charting.AxisArrowStyle.Lines;
//配置Y轴
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;
此.chart1.ChartAreas[0].AxisY.ArrowStyle=
System.Windows.Forms.DataVisualization.Charting.AxisArrowStyle.Lines;
//设置图表类型
此.chart1.Series[0]。ChartType=
System.Windows.Forms.DataVisualization.Charting.SerieChartType.Spline;
//设置数据
var p=新列表();

对于(int i=-5;i如何创建图形?使用GDI+和自定义绘制,或使用MSChart或其他工具?请为问题添加更多细节。另外,添加一些代码或图像可能会有所帮助。我使用了默认的图表控件。我希望类似的东西可能重复-也看看如何创建图形?使用GDI+和自定义绘制,或使用MSChart或其他方法?请为问题添加更多详细信息。此外,添加一些代码或图像可能会有所帮助。我使用了默认的图表控件。我希望类似的内容可能重复-也请看一看