C# 顶部X轴标签不显示Windows窗体图表
我正在尝试为我正在为Windows窗体开发的应用程序绘制图表。我正在使用图表控件,并以编程方式对其进行自定义 到目前为止,我学到了很多,因为它是一个.NET控件,因此在互联网上有大量关于这个问题的文档 然而,从昨天起,我就开始担心:我已经为我的二维折线图启用了两个辅助标签(AxisX2和AxisY2)。问题在于,这些轴的标签仅在第二个轴(AxisY2)上显示,尽管它们的创建和配置方式完全相同 我有我的应用程序的屏幕截图,这样你可以看到我在说什么: 创建这两个次轴的代码如下所示:C# 顶部X轴标签不显示Windows窗体图表,c#,winforms,mschart,C#,Winforms,Mschart,我正在尝试为我正在为Windows窗体开发的应用程序绘制图表。我正在使用图表控件,并以编程方式对其进行自定义 到目前为止,我学到了很多,因为它是一个.NET控件,因此在互联网上有大量关于这个问题的文档 然而,从昨天起,我就开始担心:我已经为我的二维折线图启用了两个辅助标签(AxisX2和AxisY2)。问题在于,这些轴的标签仅在第二个轴(AxisY2)上显示,尽管它们的创建和配置方式完全相同 我有我的应用程序的屏幕截图,这样你可以看到我在说什么: 创建这两个次轴的代码如下所示:
var xAxisTop = new Axis
{
Minimum = 0,
Maximum = 100,
Interval = 5.0,
LabelStyle = new LabelStyle { ForeColor = Color.Black, Enabled = true, Font = new Font("Verdana", 18.0f) },
Title = "Pos (%)",
LineWidth = 2,
MajorGrid = new Grid { LineColor = Color.DimGray },
MinorGrid = new Grid { LineColor = Color.DimGray },
IsMarksNextToAxis = true,
Enabled = AxisEnabled.True
};
chartArea1.AxisX2 = xAxisTop;
var yAxisTop = new Axis
{
Minimum = 0,
Maximum = 100,
Interval = 5.0,
LabelStyle = new LabelStyle { ForeColor = Color.Black, Enabled = true, Font = new Font("Verdana", 18.0f) },
Title = "Load (%)",
LineWidth = 2,
MajorGrid = new Grid { LineColor = Color.DimGray },
MinorGrid = new Grid { LineColor = Color.DimGray },
IsMarksNextToAxis = true,
Enabled = AxisEnabled.True
};
chartArea1.AxisY2 = yAxisTop;
我真的不知道会发生什么。有人能帮我吗?你没有显示添加
数据点的代码,但我的水晶球说:很可能你的轴都很好,你的问题源于你的X值
您的Y值
通常是数值,但如果您的X值
不是数值,它们看起来仍然正常,但实际上不是:标签确实显示得很好,因为它们是从您输入的字符串创建的,但是X值实际上都是0
s。在调试器中检查它
这是一个常见错误,它仅在您试图实际使用这些X值时显示
,例如,通过使用数字格式字符串或进行计算,或者在您进行计算时,尝试隐式使用它们,通过为辅助X轴设置最小值和最大值
由于所有值均为0
,因此最小值与最大值之间根本没有空间,并且没有显示任何内容
检查添加数据点的代码,确保它添加了数字,而不是X值的字符串
请参阅及其讨论和解决方案!滚动到更新!((所以仍然不允许在帖子中使用锚:-())
更新:我刚刚找到了次轴上的标签不显示的另一个原因原因:它们仅在同时显示主轴上的标签时显示。如果不想这样做,则必须不禁用它们!相反,您可以设置它们的标签样式eColor=颜色。透明
显然,这不是你的情况,因为主轴确实显示了它的标签。没有,但我也没有为Y次轴做过,它对它有效。我不明白你的意思。我启用了AxisY2,它显示在图表区域。我对AxisX2做了同样的操作,只有标签丢失。我检查了XAxisType和YAxisType以确定我的位置系列和两者都设置为主要。您解决问题了吗?