Julia PyPlot中的网格线

时间:2016-02-16 12:44:52

标签: matplotlib julia

我在Julia中使用“PyPlot”包,我想在指定位置添加网格线。我对Python / Matlab不太熟悉,无法使用他们的文档页面来帮助 - 这些命令在Julia中有所不同。我想要一个基本的情节,两个轴上的网格线间隔为1:

using PyPlot
fig=figure("Name")
grid("on")
scatter([1,2,3,4],[4,5,6,7]) 

帮助表示赞赏......

2 个答案:

答案 0 :(得分:7)

PyPlot只是Matplotlib的接口,所以命令 自定义网格是Matplotlib的命令。

以1为间隔(对于给定数据)在两个轴上配置网格线的一种方法是:

using PyPlot

fig=figure(figsize=[6,3])
ax1=subplot(1,1,1) # creates a subplot with just one graphic

ax1[:xaxis][:set_ticks](collect(1:4))  # configure x ticks from 1 to 4
ax1[:yaxis][:set_ticks](collect(4:7))  # configure y ticks from 4 to 7

grid("on")
scatter([1,2,3,4],[4,5,6,7])

此代码在IJulia的笔记本中进行了测试,并产生以下输出:

Output of plotting scatter 1,2,3,4 x 4,5,6,7

看看Various Julia plotting examples using PyPlot

使用Julia Version 0.4.3进行测试

答案 1 :(得分:2)

可以通过将数组传递给xticks()yticks()函数来控制绘制网格线的值。

一个简单的例子:

using PyPlot
fig=figure("Name")
grid("on")

xticks(0:5)
yticks(3:8)

scatter([1,2,3,4],[4,5,6,7])

如果您希望它更灵活,您可以根据您的数据确定限制,并将滴答间隔设置为其他内容。

配置网格x轴的一种更动态的方法可能是:

x_data = [1,2,3,4]
x_tick_interval = 2;
x_tick_start = minimum(xdata)
x_tick_end   = maximum(xdata)
xticks(x_tick_start:x_tick_interval:x_tick_end)