2
A
回答
2
你想要做的缩放类型不能由MSChart自动完成。一旦您从用户那里检索到“放大”X值范围,您需要编写更多的代码来适当地重置Y轴缩放。
如果您使用的是线型数据系列,并且该系列的源数据以SortedList形式存储,则此功能最容易使用。
Dim firstXindex as Int32 = myDataSeries.IndexOfKey(firstXzoomValue)
Dim lastXindex as Int32 = myDataSeries.IndexOfKey(lastXzoomValue)
Dim minY as Double = 1.7E+308
Dim maxY as Double = -1.7E+308
For i = firstXindex To lastXindex
If myDataSeries.GetByIndex(i) > maxY Then
maxY = myDataSeries.GetByIndex(i)
End If
If myDataSeries.GetByIndex(i) < minY Then
minY = myDataSeries.GetByIndex(i)
End If
Next
一旦你使用像上面的代码的东西,让您MINY与美星,那么你可以使用这些值来最小和最大Y轴值重置的ChartArea:
With myChartArea
.AxisY.Maximum = maxY
.AxisY.Minimum = minY
End With
0
微软已经提供下载一whole range of samples。在示例应用程序中有一个名为Scrollable Appearance,它似乎可以做你想做的事。
Scrollable Appearance http://img502.imageshack.us/img502/5172/zoomablechart.png
用户可以选择和图形的面积,它会放大,也可以左右移动使用滚动条。
C#示例代码包含在下载中。
3
我一直在寻找解决方案。我发现这很有用。订阅AxisValueChanged事件并使用ScaleView修改视图。
private void chart1_AxisViewChanged(object sender, ViewEventArgs e)
{
if (e.Axis.AxisName == AxisName.X)
{
int start = (int)e.Axis.ScaleView.ViewMinimum;
int end = (int)e.Axis.ScaleView.ViewMaximum;
double[] temp = chart1.Series[0].Points.Where((x, i) => i >= start && i <= end).Select(x => x.YValues[0]).ToArray();
double ymin = temp.Min();
double ymax = temp.Max();
chart1.ChartAreas[0].AxisY.ScaleView.Position = ymin;
chart1.ChartAreas[0].AxisY.ScaleView.Size = ymax - ymin;
}
}
相关问题
- 1. Matplotlib - 固定x轴缩放和自动缩放y轴
- 2. MSChart Y轴和X轴标记
- 3. Matplotlib根据手动缩放的x轴缩放y轴
- 4. D3在X轴上缩放
- 5. matplotlib自动缩放(轴= 'Y')与set_xlim()
- 6. X轴自动变焦Y轴变焦
- 7. 沿Y轴和X轴缩放核心图独立
- 8. list_plot中x轴和y轴的缩放比例相同
- 9. 使用amchart缩放y轴
- 10. Ggplot2不缩放Y轴
- 11. 使用translateX()在X轴上移动,它也移动Y轴
- 12. MSChart X轴显示偶数?
- 13. 如何将X轴和Y轴的起始点放在一起,xlim和ylim设置是否自动缩放?
- 14. MSChart的X轴上的日期
- 15. 核心情节禁用轴和y轴缩放,滚动
- 16. ggplot2中的缩放x轴
- 17. 图表控制Y轴自动缩放滚动
- 18. Matplotlib指示点在X轴和Y轴
- 19. 告诉我x轴和y轴在OxyPlot
- 20. 将两个Y轴放在图上时图形轴缩放不正确
- 21. matplotlib:如何让y轴的列表长度为自动x轴
- 22. 如何在R Studio的qqnorm图中缩放x和y轴?
- 23. 在保持zoomType = x的同时在缩放后重新缩放垂直轴的Y轴
- 24. 在Y轴上移动UIButton
- 25. 如何绘制x轴上的Row.names,y轴上的x和y列?
- 26. 需要在MSChart上的Y轴上设置时间范围
- 27. MSChart轴线
- 28. MSChart X和Y轴标签原点重叠
- 29. 如何把自己的价值放在图中x轴和y轴
- 30. SAS SGPLOT - 使用Y轴缩放间隔
这不会根据用户选择的X值范围自动放大适当的Y值范围 – ChrisAU 2010-02-18 02:34:32