如何定位/扩展X轴起点,使其与轴Y最低点对齐

时间:2014-10-24 13:05:10

标签: vb.net charts alignment axis

创建新图表时,默认情况下,第一个和最后一个点不与Y轴对齐,但它们位于X轴中间的某个位置。

enter image description here

我无法弄清楚如何将“2010”一直放到左边,“TTM”一直放到右边。几乎一半的图表空间就像这样丢失了。

在Excel中,它是“刻度线之间的位置X轴”选项,但我不知道如何在vb.net中这样做。

由于

1 个答案:

答案 0 :(得分:1)

嗯,我明白了:你正在使用:

  • 要么System.Windows.Forms.DataVisualization.Charting.Chart
  • System.Web.UI.DataVisualization.Charting.Chart

这就是我通过“哪个组件创建图表?”

所要求的

我结束创建自己从A到Z渲染图表的方式的原因之一就是像你这样的问题。

无论如何,你的问题是“添加轴然后修改最小/最大综合症”。我没有经常使用你的组件,所以我真的没有解决这个问题。我所知道的是:

  • 创建Charting.Chart组件(或向项目添加一个组件)时
  • 然后添加X轴和Y轴

^^那些有点锁定:( - 未检查过后如何修改它们。
我很久以前做过的解决方法是:

  • 以编程方式创建X轴和Y轴,而不将它们添加到ChartArea
  • 定义X分钟和最大值
  • 然后当我完成后,相应地设置chartArea X和Y轴

    ' Imports System.Windows.Forms.DataVisualization.Charting
    
    ' ...
    
    xAxis = New Axis() ' <- dont tie the axis to the chartArea
    
    ' now, either define the MarginVisible Property to False :
    xAxis.IsMarginVisible = False
    ' either specify the min/max (and eventually the Crossing Property)
    xAxis.Minimum = xValues(0)
    xAxis.Maximum = xValues(xValues.Length - 1)
    xAxis.Crossing = xValues(0) ' optional
    
    chart1Area.AxisX = xAxis
    chart1Area.AxisY = New Axis() ' everything auto on Y side.
    
    ' ...
    

顺便说一句,我的xValues是一个数值值数组。既然你把你的岁月作为字符串,我不知道它是如何工作的。也许通过使用某种数字转换技巧..:/

到目前为止,我还不习惯Charting.Chart,所以我希望其他人会更好地帮助你。由于我要求你澄清上面评论中的一些内容,这是我迄今为止可以分享的内容。如果我记得另一种解决方法(不知何故忘记了很久以前的图表),我将编辑这篇文章。

祝你好运。