matplotlib相关
设置画布大小
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(10,15)) #width=10英寸, height=15英寸
这样就是设置了一个宽度为10英寸,高度为15英寸的画布,注意,英寸!
但是实际上我们更熟悉的是像素值,而不是英寸,那么我们可以这样
fig = plt.figure(figsize=(10,15),dpi=100) #指定绘图对象的分辨率,即每英寸多少个像素
这样我就指定了一个宽度=100像素,高度=150像素的画布。
另外还可以通过
- facecolor: 背景颜色
- edgecolor: 边框颜色
- frameon: 是否显示边框
等属性来做相关设置,具体使用bing搜索figure的属性
fig = plt.figure(figsize=(4,6),dpi=100,facecolor='y',edgecolor='r',frameon=True)
子图以及坐标轴
示例
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(10,6),dpi=100,facecolor='y',edgecolor='r',frameon=True) #设置一张画布
ax1 = fig.add_subplot(121) #添加一个子图,位置是121,表示共有1行2列-两个子图,本子图是1号位
ax2 = fig.add_subplot(122) #同理,本子图是2号位
ax1.spines['right'].set_color('none') #设置1号坐标轴的右框为空
ax2.spines['top'].set_color('r') #设置2号坐标轴的上框为红色
ax1.set_xlim(-3,4.5) #设置ax1,即左图的x轴范围是-3到4.5
ax1.set_ylim(-5,7) #同理
ax1.spines['bottom'].set_position(('data',0.8)) #data表示通过值来设置x轴的位置,将x轴绑定在y=0。8的位置
ax1.spines['left'].set_position(('axes',0.5)) #axes表示以百分比的形式设置轴的位置,即将y轴绑定在x轴50%的位置,也就是x轴的中点
ax2.set_ylim(-100,200)
ax2.set_xlim(-150,100)
ax2.spines['left'].set_position(('axes',0.3))
ax2.spines['bottom'].set_position(('axes',0.8))
ax2.spines['bottom'].set_color('r') #设置坐标轴为红色
ax2.spines['left'].set_visible(False) #右图隐藏纵轴
ax2.xaxis.set_ticks([]) #右图隐藏横轴标签
删除某一个子图
fig.delaxes(ax2)