对数轴外观(以茱莉亚/图解表示)

时间:2019-05-24 03:13:00

标签: julia plots.jl

以下是朱莉娅的Plots库使用xaxis=:log属性生成的图:

enter image description here

该图具有均匀间隔的刻度线,带有类似10 ^ 0.25的标签。有时这可能很有用,但对于该图而言,我感到有些困惑,因为大多数人在不查找的情况下都不知道10 ^ 0.25的值。

我希望x轴具有对数间隔的刻度,代表在x轴上数量均匀的间隔。这是一个简单的示例,显示了我的意思,它是在Python的semilogx库中使用matplotlib生成的:

enter image description here

在此图中,x轴在x = 1,x = 2,x = 3等处有刻度,我发现这些对于我生成的图形更有用。可以在朱莉娅中使用图实现吗?

1 个答案:

答案 0 :(得分:2)

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

有一种方法可以实现所需的滴答行为。您可以通过xticksytickszticks)参数手动设置刻度位置和刻度标签。

例如,以下代码片段将刻度线放置在所需的等距点上。

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

plot(x, y, xscale=:log10, xticks=(1:10, 1:10))

元组的第一个元素用于刻度线的位置,第二个元素用于标签。尽管我将范围对象用于标签,但是您可以使用StringLaTeXStrings等数组。

您可能还想看看the Julia Plots documentation.中的minorticks(针对您的情况为xminorticks)和minorgrid属性