gnuplot:如何在轴上使用 a*(10^b) 格式

Posted

技术标签:

【中文标题】gnuplot:如何在轴上使用 a*(10^b) 格式【英文标题】:gnuplot: how to use a*(10^b) format on axis 【发布时间】:2011-12-21 03:05:05 【问题描述】:

我在 x 轴上使用了非常大的数字(百万),所以当我使用时

set format x %6.0f

我得到了像 25000000 这样的大数字。这很好,但占用空间很大,所以标签很少,阅读器会丢失信息。

当我排除设置格式时,我得到类似 2e+07 的东西,根据我的观点,这对读者来说是非常不友好和不寻常的。

我想要像 25*(10^6) 这样的格式,所以数字将是第一个,然后乘以 10^n,或者与此非常相似的东西。我认为这将是最好的解决方案,如果 x 轴长约 30000000 点甚至更多。

但是,阅读手册,例如“如何更改数字的格式?”来自http://t16web.lanl.gov/Kawano/gnuplot/tics-e.html 对我帮助不大。

提前谢谢你。

【问题讨论】:

【参考方案1】:

gnuplot 必须提供的所有格式说明符都可以在here 找到。

如果你不喜欢 2e+07 格式,你可以尝试用

设置格式
set format x "%.0s*10^%T"

它为您提供 15*10^6 之类的格式。

【讨论】:

非常感谢!!!你让我想到了 %.0s MB,看起来真的很漂亮! ;-) 这正是我所需要的。 请注意,这将使用 engineering 表示法而不是科学表示法。这意味着,而不是例如2×10⁷ 你会得到 20×10⁶。科学记数法见answer by sri。【参考方案2】:

还可以使用以下公式获得带十字符号的科学记数法:2x10^6

设置格式 x "%2.0t/Symbol \26410^%L"

【讨论】:

在我在 Linux 上编译的 gnuplot 5.0 上,即使使用文字“×”字符,我也会得到正常的十字符号。

以上是关于gnuplot:如何在轴上使用 a*(10^b) 格式的主要内容,如果未能解决你的问题,请参考以下文章

gnuplot - 轴上的物理尺寸

如何在ANSYS中的轴上施加扭矩?

子图中的 networkx 正在绘制部分在轴框架之外的节点

如何在 gnuplot 上绘制树/图形/网络数据?

如何进行 d3.js 轴的本地化?

如何在填充的GUI轴中使用“ButtonDownFcn”?