自定义次要 y 轴值
Customize secondary y axes value
我对 vb.net 中的图表很陌生。我认为我的问题很简单,但我似乎找不到解决问题的方法。我有一张 y 对 x 的图表。我设法在主轴之间加入了一些间隔。我想知道我是否想添加辅助 y 轴,我可以自定义轴以便它始终固定为我的自定义值吗?此次要 y 轴不应依赖于主要 x 轴和 y 轴。
参考下图
My current graph
The graph that I want to produce
正如您在第二张图中看到的那样,自定义辅助 y 轴将始终固定为该值(最大 y 轴为“+3sd”,最小 y 轴为“-3sd”)。提前致谢
这可能对您没有帮助,但可以帮助您澄清问题。
这是我目前所做的:
使用此代码:
'Add some dummy data.
Dim series1 = Chart1.Series(0)
series1.ChartType = SeriesChartType.Line
series1.Points.AddXY(1, 2)
series1.Points.AddXY(2, 3)
series1.Points.AddXY(3, 4)
series1.Points.AddXY(4, 1)
series1.Points.AddXY(5, 2)
'Enable and modify the second Y-axis.
Dim axY2 = Chart1.ChartAreas(0).AxisY2
axY2.Enabled = AxisEnabled.True
axY2.Minimum = -3
axY2.Maximum = 3
axY2.Interval = 1
axY2.LabelStyle.Format = "+0.0;-0.0;0.0"
axY2.MajorGrid.LineColor = Color.Orange
我假设这不是您要找的东西是否正确?您希望第二个 Y-axis 的网格线与主要 Y-axis?
的网格线一致
感谢您的回复。我已经设法弄清楚该怎么做。它与自定义标签有关。我在该系列上创建了另一个辅助 y 轴,并将最小值分别设置为 0 和最大值为 20。然后我将间隔设置为 2.5。从这里我知道我的图表已经有 8 个间隔(每个 2.5 个)。最后我们可以将所有内容加在一起得到答案。
Dim ax As New Axis
ax = Chart1.ChartAreas("ChartArea1").AxisY2
ax.Enabled = AxisEnabled.True
ax.Interval = 2.5
ax.Maximum = 20
ax.Minimum = 0
ax.CustomLabels.Add(0, 5, "- 3.0")
ax.CustomLabels.Add(0, 10, "- 2.0")
ax.CustomLabels.Add(0, 15, "- 1.0")
ax.CustomLabels.Add(0, 20, "0.0")
ax.CustomLabels.Add(0, 25, "+ 1.0")
ax.CustomLabels.Add(0, 30, "+ 2.0")
ax.CustomLabels.Add(0, 35, "+ 3.0")
ax.Title = "SD"
Final graph
这可能不是最佳解决方案,但对我来说确实有效。再次感谢先生!
我对 vb.net 中的图表很陌生。我认为我的问题很简单,但我似乎找不到解决问题的方法。我有一张 y 对 x 的图表。我设法在主轴之间加入了一些间隔。我想知道我是否想添加辅助 y 轴,我可以自定义轴以便它始终固定为我的自定义值吗?此次要 y 轴不应依赖于主要 x 轴和 y 轴。
参考下图
My current graph
The graph that I want to produce
正如您在第二张图中看到的那样,自定义辅助 y 轴将始终固定为该值(最大 y 轴为“+3sd”,最小 y 轴为“-3sd”)。提前致谢
这可能对您没有帮助,但可以帮助您澄清问题。
这是我目前所做的:
使用此代码:
'Add some dummy data.
Dim series1 = Chart1.Series(0)
series1.ChartType = SeriesChartType.Line
series1.Points.AddXY(1, 2)
series1.Points.AddXY(2, 3)
series1.Points.AddXY(3, 4)
series1.Points.AddXY(4, 1)
series1.Points.AddXY(5, 2)
'Enable and modify the second Y-axis.
Dim axY2 = Chart1.ChartAreas(0).AxisY2
axY2.Enabled = AxisEnabled.True
axY2.Minimum = -3
axY2.Maximum = 3
axY2.Interval = 1
axY2.LabelStyle.Format = "+0.0;-0.0;0.0"
axY2.MajorGrid.LineColor = Color.Orange
我假设这不是您要找的东西是否正确?您希望第二个 Y-axis 的网格线与主要 Y-axis?
的网格线一致感谢您的回复。我已经设法弄清楚该怎么做。它与自定义标签有关。我在该系列上创建了另一个辅助 y 轴,并将最小值分别设置为 0 和最大值为 20。然后我将间隔设置为 2.5。从这里我知道我的图表已经有 8 个间隔(每个 2.5 个)。最后我们可以将所有内容加在一起得到答案。
Dim ax As New Axis
ax = Chart1.ChartAreas("ChartArea1").AxisY2
ax.Enabled = AxisEnabled.True
ax.Interval = 2.5
ax.Maximum = 20
ax.Minimum = 0
ax.CustomLabels.Add(0, 5, "- 3.0")
ax.CustomLabels.Add(0, 10, "- 2.0")
ax.CustomLabels.Add(0, 15, "- 1.0")
ax.CustomLabels.Add(0, 20, "0.0")
ax.CustomLabels.Add(0, 25, "+ 1.0")
ax.CustomLabels.Add(0, 30, "+ 2.0")
ax.CustomLabels.Add(0, 35, "+ 3.0")
ax.Title = "SD"
Final graph
这可能不是最佳解决方案,但对我来说确实有效。再次感谢先生!