如何使用Pyplot设置Julia中的刻度数?

时间:2016-11-10 11:51:34

标签: matplotlib julia

我正在努力将我发现的Python指令“翻译”为在Julia中使用Pyplot。这一定是一个简单的问题,但你知道如何使用Pyplot设置Julia中的绘图数量吗?

2 个答案:

答案 0 :(得分:3)

如果你有

x = [1,2,3,4,5]
y = [1,3,6,8,11]

你可以

PyPlot.plot(x,y)

绘制情节

然后再做

PyPlot.xticks([1,3,5])

用于x轴上1,3和5的抽搐

PyPlot.yticks([1,6,11])

对于y轴为1,6和11的抽搐

抽动间距

如果你想要fx 4 tics并希望它均匀分布并且不介意Floats,你可以做到

collect(linspace(x[1], x[end], 4). 

如果你需要抽搐整数而你想要4个抽搐,你可以做

collect(x[1]:div(x[end],4):x[end]) 

修改

也许这不属于这里,但至少你会看到它......

无论何时你正在寻找一个应该在模块X中的方法,你都可以通过输入REPL X来找到这些方法。+ TAB键

澄清一下,如果你想在模块中搜索一个你怀疑以x开头的方法,比如xticts,在REPL(终端/ shell)中做

PyPlot.x

并按两次TAB,您将看到

julia> PyPlot.x
xkcd   xlabel  xlim    xscale  xticks

如果您不确定该方法是如何工作的,请查询其参数,并且没有任何可用的帮助,您可以调用

methods(PyPlot.xticks)

查看该方法的每个“版本”

<强>加成

所有标准方法的模块,如maximum,vcat等,都是Base

答案 1 :(得分:2)

经过一番尝试和搜索后,我找到了一种方法。可以设置每个轴上应该有的箱数。这是一个最小的例子:

using PyPlot
x = linspace(0, 10, 200)
y = sin(x)
fig, ax = subplots()
ax[:plot](x, y, "r-", linewidth=2, label="sine function", alpha=0.6)
ax[:legend](loc="upper center")
ax[:locator_params](axis ="y", nbins=4)

最后一行指定应在y轴上使用的箱数。如果不指定参数轴,则会将两个轴的选项设置为相同的值。