【问题标题】:Primary X axis in MS chart control wont display max value?MS 图表控件中的主 X 轴不会显示最大值?
【发布时间】:2011-10-10 12:34:38
【问题描述】:

我正在使用 Windows 窗体的 Visual Studio 2010 中使用 MS 图表控件 .net 4 框架。我在单击按钮时从文本框中输入的用户输入的主 x 轴的比例存在问题。我还使用了在用户输入上工作的主要和次要 y 轴。

我检查了每个轴的设置,它们都具有相同的设置。我不明白为什么两个 y 轴都适用于用户输入而 x 没有。请帮忙。

以下是我正在使用的代码:

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

    Chart1.ChartAreas("Area1").AxisX.Minimum = Val(XPrimeMin.Text)
    Chart1.ChartAreas("Area1").AxisX.Maximum = Val(XPrimeMax.Text)
    Chart1.ChartAreas("Area1").AxisX.Interval = Val(XPrimeInterval.Text)
    Chart1.ChartAreas("Area1").AxisX.LabelStyle.Interval = Val(XPrimeInterval.Text)

    Chart1.ChartAreas("Area1").AxisY.Minimum = Val(YPrimeMin.Text)
    Chart1.ChartAreas("Area1").AxisY.Maximum = Val(YPrimeMax.Text)
    Chart1.ChartAreas("Area1").AxisY.Interval = Val(YPrimeInterval.Text)
    Chart1.ChartAreas("Area1").AxisY.LabelStyle.Interval = Val(YPrimeInterval.Text)

    Chart1.ChartAreas("Area1").AxisY2.Minimum = Val(YSecMin.Text)
    Chart1.ChartAreas("Area1").AxisY2.Maximum = Val(YSecMax.Text)
    Chart1.ChartAreas("Area1").AxisY2.Interval = Val(YSecInterval.Text)
    Chart1.ChartAreas("Area1").AxisY2.LabelStyle.Interval = Val(YSecInterval.Text)

End Sub

这是我在自动缩放时得到的屏幕截图:

这是在我通过用户输入设置轴之后:

【问题讨论】:

  • 如果您将Val(XPrimeMin.Text) 设置为double 并打印出来,您会得到什么? (最大值和间隔相同)?
  • 他们每个人都表示他们是根据需要加倍的
  • 我发现这是LabelStyle.Interval 的错误,它再次在其他轴上工作,而不是在 x
  • 那么让我尝试重现该问题。 LabelStyle.Interval 的确切错误是什么?
  • 我没有收到任何错误代码或警告。问题是,即使分配了数字,轴也会保持在 0.69,除非我将最大数字设置为低于即使网格间隔确实发生变化,我也根本看不到轴上的任何值。

标签: vb.net winforms visual-studio-2010 charts


【解决方案1】:

对我有用的解决方案是将我从数组中获取的值转换为双精度值,然后再将其添加到系列数据点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多