很多时候为了可视化效果的美观,就不得不从细节上下手,这里我们就介绍一下这些细节之一的网格线。
首先导入需要用到的库,matplotlib.pyplot是必须的,Numpy是为了生成画布用的。
import numpy as np
import 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或y的时候, 输入的是哪条轴,则会隐藏哪条轴
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()