我正在尝试为我正在为Windows Form开发的应用程序绘制图表。我正在使用图表控件,并以编程方式自定义它。
到目前为止我学到了很多东西,因为它是一个.NET控件,因此在这个问题上有很多关于Internet的文档。
然而,从昨天开始,有些事情让我失望:我已经为我的2D折线图(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;
我真的不知道会发生什么。有人能帮助我吗?
答案 0 :(得分:1)
你没有显示添加myMethod(s);
的代码,但我的水晶球说:很可能你的DataPoints
两者都完全正常,你的问题源于你的Axes
。
您的X-Values
照常使用数字,但如果您的Y-Values
不是,它们似乎仍然可以,但它们不是!:{{1从你输入的字符串创建它们时显示得很好,但X-Values
实际上都是Labels
。在调试器中检查!!
当您尝试使用那些X-Values
时,常见错误和仅显示,例如使用数字格式字符串或进行计算,或者正如您所做的那样,通过为辅助0
设置X-Values
和Minimum
来尝试隐含使用它们。
由于所有值均为Maximum
,因此X-Axis
和0
之间没有空间,并且没有显示任何内容。
检查添加Minimum
的代码并确保它添加数字,而不是X-Values的字符串!
请参阅here for a similar case及其讨论和解决方案!滚动到更新! ((SO仍然不允许在帖子中使用锚点:-())
更新:我刚刚发现另一个原因为什么辅助轴上的标签不显示:它们只显示< strong>还显示主轴上的标签。如果你不想要,你必须不要禁用!相反,您可以设置他们的Maximum
!
显然这不是你的情况,因为主轴确实显示了它的标签。