python matplotlib 设置背景色、轴脊、网格线
1 设置背景颜色
1.1 设置 figure 背景颜色
方法 I:
plt.figure(facecolor='blue', # 图表区的背景色
edgecolor='black') # 图表区的边框线颜色
方法 II:
fig=plt.gcf()
fig.set_facecolor('green')
1.2 设置 axes 背景颜色
方法 I:
a = plt.axes([.65, .6, .2, .2],
facecolor='k') # pyplot api 命令-黑色背景
方法 II:
ax1=plt.gca()
ax1.patch.set_facecolor("gray") # 设置 ax1 区域背景颜色
ax1.patch.set_alpha(0.5) # 设置 ax1 区域背景颜色透明度
1.3 修改 matplotlib 默认参数
plt.rcParams['axes.facecolor']='red'
plt.rcParams['savefig.facecolor']='red'
2 设置轴脊
2.1 去掉轴脊
ax.spines['top'].set_visible(False) #去掉上边框
ax.spines['bottom'].set_visible(False) #去掉下边框
ax.spines['left'].set_visible(False) #去掉左边框
ax.spines['right'].set_visible(False) #去掉右边框
2.2 移动轴脊
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
2.3 设置边框线颜色
ax = plt.gca() # 获取当前的axes
ax.spines['right'].set_color('blue')
ax.spines['top'].set_color('none')
2.4 设置边框线宽
ax1.spines['left'].set_linewidth(5)
2.5 设置边框线型
ax.spines['left'].set_linestyle('--')
3.设置网格线
3.1 使用 pyplot api 命令
# 显示网各线
plt.grid(true)
# 设置网格线格式:
plt.grid(color='r',
linestyle='--',
linewidth=1,
alpha=0.3)
3.2 使用 axes 类面向对象命令
# 同时设置横竖坐标轴上的网格线
ax.grid(color='r',
linestyle='--',
linewidth=1,
alpha=0.3)
# 单独设置X坐标轴上(垂直方向)的网格线
ax.xaxis.grid(color='r',
linestyle='--',
linewidth=1,
alpha=0.3)
# 单独设置Y坐标轴上(水平方向)的网格线
ax.yaxis.grid(color='r',
linestyle='--',
linewidth=1,
alpha=0.3)
非学无以广才,非志无以成学。