很多时候为了可视化效果的美观,就不得不从细节上下手,这里我们就介绍一下这些细节之一的网格线。
首先导入需要用到的库,matplotlib.pyplot是必须的,Numpy是为了生成画布用的。
import numpy as npimport matplotlib.pyplot as plt
生成网格
plt.gcf().set_facecolor(np.ones(3)* 240 / 255) # 生成画布的大小plt.grid() # 生成网格plt.show()
参数
matplotlin.pyplot.grid(b, which, axis, color, linestyle, linewidth, **kwargs)
grid()参数有很多,这里只列举了我此次工作中用到的几个:
b : 布尔值。就是是否显示网格线的意思。官网说如果b设置为None, 且kwargs长度为0,则切换网格状态。但是没弄明白什么意思。如果b设置为None,但是又给了其它参数,则默认None值失效。
which : 取值为'major', 'minor', 'both'。 默认为'major'。看别人说是显示的,我的是Windows7下,用Sublime跑的,minor只是一个白画板,没有网格,major和both也没看出什么效果,不知道为什么。
axis : 取值为‘both’, ‘x’,‘y’。就是以什么轴为刻度生成网格。例如我输入参数x就会在x轴方向上生成纵向的网格刻度。没有输入的方向则不会显示网格刻度。这里多谢 @湖尘指正。
color : 这就不用多说了,就是设置网格线的颜色。或者直接用c来代替color也可以。
linestyle :也可以用ls来代替linestyle,设置网格线的风格,是连续实线,虚线或者其它不同的线条。|'-'
|'--'
|'-.'
|':'
|'None'
|''
|''
]
linewidth : 设置网格线的宽度
设置axis='y'
plt.grid(axis="y")plt.show()
设置axis='x'
设置color='r'
plt.grid(c='r')plt.show()
红色
plt.grid(c='g')plt.show()
绿色
设置linestyle
plt.grid(linestyle='-.')plt.show()
plt.grid(ls='--')plt.show()
因为b和which没有显示效果。所以这里就不上图了。
--------------------------更******新--------------------------
今天又试了下,当which='major'的时候,是可以显示网格线的。同时感谢机器不学习o_o的指导,在which="minor"时,需要设置次刻度线。
plt.grid(axis='y', which='major')plt.show()
plt.grid(axis="x", which="major")plt.show()
which='minor'
ax = plt.gca()ax.set_xlim(0, 10)miloc = plt.MultipleLocator(1)ax.xaxis.set_minor_locator(miloc)ax.grid(axis='x', which='minor')plt.show()