Excel - 移动辅助图表轴以获取其上的整数值

Excel - 移动辅助图表轴以获取其上的整数值

注意:问题以较长的描述开始,也许你想跳过。向下滚动直到看到大标题The real question

我有一张包含测量值的表格。其中有一组值,但有两组相关数据,一组是绝对值(时间)t,另一组是相对值(时间),Δt显示从测量开始的变化。

包含 t、delta t、值的列的表格

我想用两个轴来显示值,一个轴显示,t另一个轴显示Δt

因此我创建了包含两个数据系列的散点图。

Y 值为值列,X 值为 delta t 列

Y 值为数值列,X 值为

并将它们制作成组合散点图和散点图。注意每个水平(X)轴的范围不同。

图表显示两个相同的数据系列根据其轴范围和原点移动

因为我希望图表中只显示一个数据系列,所以我编辑了 X 轴范围(和)0-70。这使得两个系列相同(大小相同、来源相同 -不可见,因为隐藏在 下)。Δt7-77tValue = f(t)Value = f(Δt)

数据系列重叠。上方 x 轴显示值 10、20、30...,下方 x 轴显示值 7、17、27...

真正的问题

现在图表绘制的区域看起来不错。但我想在t轴上显示“漂亮的”圆形值。这是可能的,如果可以,怎么做?

我希望下方的 x 轴看起来像下面的图像(这里使用了古老的 mspaint-fu :))。

处理后的图像并输出所需输出

答案1

也许您可以添加另一个辅助系列,其中 X 值包括您在 X 轴上需要的数字,Y 值全部为 0。

然后将该系列添加到图表中。

下方X轴不设置标签,但为辅助系列添加标签。

然后双击每个标签,在公式栏中输入“=”,然后单击要显示的数字。

在此处输入图片描述

答案2

非常感谢Emily 的回答很棒的建议。我已经创建了具有第二轴线的更复杂的解决方案。

这是最终结果(我将其保留为橙色,这样更容易辨认。)

在此处输入图片描述

怎么运行的

另一个数据系列用于次坐标轴(橙色)。此辅助系列超出了图表的可见部分。因此,只有垂直线可见。

横轴上的数字实际上是数据标签(来自某个范围的数据)。这就是整个帮助数据系列的样子

在此处输入图片描述

请注意,此系列的每个点都有自己的标签。但标签仅显示在图表可见部分中呈现的点。(最终结果中可见的标签放置在 X 轴上(Y 轴上的坐标为zero)。

出于美观原因,需要上方和下方的峰值。否则可见点之间的水平连接(线)也是可见的。

帮助数据系列由名为HelpingTable

帮助表

注意列名Label,它是数据标签的来源。

HelpingTable可以拉伸到所需的长度。拉伸会导致图表中辅助数据系列的动态变化。表中的数据是根据这些参数计算得出的

帮助表参数

  • Min Y垂直线的底端
  • Max Y垂直线的顶端
  • Min X第一垂直线的位置
  • Max X最后一条垂直线的位置
  • Step X垂直线之间的距离
  • RowsNeeded你需要延伸多少才能HelpingTable覆盖整个想要的范围
  • t/Δt diff(静态)图表轴上的值与由辅助数据系列表示的新“轴”之间的差异

还有第二个帮助表,YValuesTable其中包含帮助数据系列点的 Y 值。

Y 值表

这里只Y计算列。使用以下简单公式:

  • AboveTopAxis = Max_Y+(Max_Y-Min_Y)
  • TopAxis = Max_Y
  • BottomAxis = Min_Y
  • BelowBottomAxis = Min_Y-(Max_Y-Min_Y)

最后HelpingTable使用这些公式计算列

在此处输入图片描述

  • =ROW()-ROW(HelpingTable[[#Headers],[Row]])
  • =ROUNDUP((ROW()-ROW(HelpingTable[#Headers]))/3,0)
  • 标签=Min_X+([@Step]-1)*Step_X
  • X=[@Label]+t_Δt_diff
  • =INDEX(YValuesTable[Y],MATCH(IF(MOD([@Row],6)>3,6-MOD([@Row],6),MOD([@Row],6)),YValuesTable[ID],0))

该列的计算Y可能有点过度,但我的时间有限。

相关内容