Matplotlib的一些小细节——tick能见度
tick能见度
这里主要指的是标签的能见度
步骤
遍历所有标签
for label in ax.get_xticklabels()+ax.get_yticklabels()
设置标签大小
label.set_fontsize(num)
设置标签属性
label.set_bbox(dict(facecolor=,edgecolor=,alpha=))
facecolor
:标签颜色edgecolor
:标签边缘颜色alpha
:透明度
解决标签不显示的问题
设置zorder,让标签显于图像之上
- 设置图像的zorder
plt.plot(x,y,linewidth=10,zorder=1)
- 设置标签的zorder在图像之上
label.set_zorder(100)
代码实例及运行结果
代码
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-3,3,500)
y = 2*x
plt.figure()
plt.plot(x,y,linewidth=10,zorder=1)
#1、设置x,y轴的范围
plt.xlim((-3,3))
plt.ylim((-6,6))
#2、设置x,y轴的标签
plt.xlabel("x")
plt.ylabel("y")
#3、设置坐标轴的单位长度
new_ticks = np.linspace(-3,3,7) #范围从-3到3,划分为6段
plt.xticks(new_ticks)
#4、自定义value,并更改标签的字体(使用latex语法,注意空格使用\转义)
plt.yticks([-6,-2,0,2,6],[r'$very\ bad$',r'$plain$',r'$very\ good$',r'$\alpha$'])
#5、隐藏上轴和右轴 gca==get current axes
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
#6、设置x轴为下面的轴,设置y轴为左边的轴
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
#7、设置原点的坐标
ax.spines['bottom'].set_position(('data',0))#x轴表示为y=0
ax.spines['left'].set_position(('data',1)) #y轴表示为x=1
#8、设置label的能见度——tick
for label in ax.get_xticklabels()+ax.get_yticklabels():
label.set_fontsize(12)
label.set_bbox(dict(facecolor='red',edgecolor='blue',alpha=0.5))
label.set_zorder(100)
plt.show()
运行结果