注意:问题以较长的描述开始,也许你想跳过。向下滚动直到看到大标题The real question
。
我有一张包含测量值的表格。其中有一组值,但有两组相关数据,一组是绝对值(时间)t
,另一组是相对值(时间),Δt
显示从测量开始的变化。
我想用两个轴来显示值,一个轴显示,t
另一个轴显示Δt
。
因此我创建了包含两个数据系列的散点图。
并将它们制作成组合散点图和散点图。注意每个水平(X)轴的范围不同。
因为我希望图表中只显示一个数据系列,所以我编辑了 X 轴范围(和)0-70
。这使得两个系列相同(大小相同、来源相同 -不可见,因为隐藏在 下)。Δt
7-77
t
Value = f(t)
Value = f(Δt)
真正的问题
现在图表绘制的区域看起来不错。但我想在t
轴上显示“漂亮的”圆形值。这是可能的,如果可以,怎么做?
我希望下方的 x 轴看起来像下面的图像(这里使用了古老的 mspaint-fu :))。
答案1
答案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
计算列。使用以下简单公式:
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
可能有点过度,但我的时间有限。