朱莉娅/绘图中的对数轴外观

Nat*_*iel 5 julia plots.jl

这是由 julia 的 Plots 库使用属性生成的图xaxis=:log

在此输入图像描述

该图具有均匀间隔的刻度线,带有 10^0.25 等标签。这有时可能很有用,但我发现这个图有点令人困惑,因为大多数人不查的话都不知道 10^0.25 的值。

我希望 x 轴具有对数间隔的刻度,表示 x 轴上数量的均匀间隔。semilogx下面是一个在 Python库中使用生成的快速示例来说明我的意思matplotlib

在此输入图像描述

在此图中,x 轴在 x=1、x=2、x=3 等处有刻度,我发现这对于我生成的数字更有用。在 Julia 中可以使用 Plots 来实现这一点吗?

hck*_*ckr 6

正如讨论主题中所述,默认的勾选行为(对于大多数后端)与您的预期不同。

有一种方法可以实现您想要的刻度行为。xticks您可以通过(yticks或) 参数手动设置刻度位置和刻度标签zticks

例如,以下代码片段将按照您在帖子中想要的方式在等间距的点上打勾。

x = 1:0.1:10;
y = rand(length(x));

plot(x, y, xscale=:log10, xticks=(1:10, 1:10))
Run Code Online (Sandbox Code Playgroud)

元组的第一个元素用于刻度的位置,第二个元素用于标签。虽然我使用了范围对象作为标签,但您可以使用Strings数组LaTeXStrings等。

您可能还想查看Julia Plots 文档minorticks中的(xminorticks针对您的情况)和minorgrid属性。