我在Julia中使用“PyPlot”包,并且想要在指定的位置添加网格线。我不太熟悉Python/Matlab使用他们的文档页面来帮助 - 这些命令在Julia中有所不同。我想一个基本的情节,使1间隔两轴网格线:Julia中的网格PyPlot
using PyPlot
fig=figure("Name")
grid("on")
scatter([1,2,3,4],[4,5,6,7])
帮助赞赏...
我在Julia中使用“PyPlot”包,并且想要在指定的位置添加网格线。我不太熟悉Python/Matlab使用他们的文档页面来帮助 - 这些命令在Julia中有所不同。我想一个基本的情节,使1间隔两轴网格线:Julia中的网格PyPlot
using PyPlot
fig=figure("Name")
grid("on")
scatter([1,2,3,4],[4,5,6,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。
与朱莉娅版0.4.3
其中网格线绘制可以通过传递一个阵列到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)
这是非常有帮助!作为进一步的请求,可以删除刻度标记(我想要一个细网格,而且我不想让数轴混杂在一起)......谢谢! – ADMD
当然!要删除刻度标签,您可以使用命令:'ax1 [:xaxis] [:set_ticklabels]([])'和'ax1 [:yaxis] [:set_ticklabels]([])', ,并删除勾号标记:'ax1 [:xaxis] [:set_tick_params](which =“major”,length = 0)'和'ax1 [:yaxis] [:set_tick_params](which =“major”,length = 0)'。我还更新了答案,并提供了PyPlot使用的一些好例子的链接。我希望这会有所帮助:) – Gomiero
辉煌...... – ADMD