.Net Chart Logarithmic Axis Scaling,意外的扩展问题

时间:2017-02-10 14:55:24

标签: .net vba visual-studio charts logarithm

我有一个示例图表,其中对数缩放x轴和y轴,

enter image description here

好的,如果我将min X值设置为48,我得

enter image description here

这是超级难以理解的,我更喜欢的是保持1,10,100,基数10对数刻度,但如果有意义的话,基本上将起点移开,所以上面的图形看起来更像......

enter image description here

(假设该照片中有Y轴)

我试过的几个例子,

  • 使用Crossing属性但只影响x和y轴相互交叉的位置
  • 使用缩放视图,但这会遇到保存x轴缩放问题
  • 尝试使用间隔偏移量**我不确定这是否有效,但事实证明难以用对数刻度

这样的最终结果将是这样的图表.... enter image description here

随着值的更新,左侧的垂直线会更新到位,但我希望它保持在一个恒定的位置,图像基本上会移动以适应

我已查看过有关图表区域和Axis的每个属性,但我似乎无法找到方法来执行此操作。

2 个答案:

答案 0 :(得分:1)

间隔偏移的工作方式非常不直观,而上述实例中的对数缩放将intervaloffset设置为

IntervalOffset = Math.log(100) - Math.log(48) 实现理想的结果

enter image description here

答案 1 :(得分:0)

我发现Math.Log10是计算IntervalOffset属性所必需的。 您可以计算这些数字(包括MinorGrid的偏移量,而不用硬编码全部取决于起始数字的整个数字集,如果您希望{ {1}}和下一个10)。因此,假设有一个名为chartMin的{​​{1}}对象,则需要(在C#中):

Chart

And the resulting X-axis looks like this