我在Julia中使用“PyPlot”包,我想在指定位置添加网格线。我对Python / Matlab不太熟悉,无法使用他们的文档页面来帮助 - 这些命令在Julia中有所不同。我想要一个基本的情节,两个轴上的网格线间隔为1:
using PyPlot
fig=figure("Name")
grid("on")
scatter([1,2,3,4],[4,5,6,7])
帮助表示赞赏......
答案 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的笔记本中进行了测试,并产生以下输出:
看看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)