matplotlib画图之条形图
plt.gcf()与plt.gca()
当前的图表和子图可以使用plt.gcf()和plt.gcd()获得,分别表示Get Current Figure和Get Current Axes。在pyplot模块中,许多函数都是对当前的Figure或Axes对象进行处理,比如说:plt.plot()实际上会通过plt.gca()获得当前的Axes对象ax,然后再调用ax.plot()方法实现真正的绘图。
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
import numpy as np
plt.plot(x,y)
ax = plt.gca()
ax.spines["right"].set_color('red')
plt.plot(x,y)
ax = plt.gca()
ax.spines["right"].set_color('red')
ax.spines["left"].set_color('green')
ax.spines["top"].set_color('blue')
ax.spines["bottom"].set_color('yellow')
想要去掉边框就把set_color()里的参数改成none
plt.plot(x,y)
ax = plt.gca()
ax.spines["right"].set_color('none')
ax.spines["left"].set_color('green')
ax.spines["top"].set_color('orange')
ax.spines["bottom"].set_color('yellow')
x = np.linspace(-3.15,3.15,100)
y = np.sin(x)
plt.plot(x,y)
ax = plt.gca()
ax.spines["right"].set_color('none')
ax.spines["top"].set_color('none')
#把x轴的刻度设置为‘bottom’
#把y轴的刻度设置为‘left’
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
#设置bottom对应到0点
#设置left对应到0点
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))
plt.figure()
创建Figure对象,Figure对象是后续绘图操作的总容器。如果不创建Figure对象,直接调用接下来的plot()进行绘图,matplotlin会自动创建一个Figure对象。事先创建Figure对象可以对它做更精细的设定。
参数 | 解释 |
---|---|
num | 图形序号(ID),不指定自动递增。如果该图形已存在,则激活相应图形 数字为编号,字符串为名称 |
figsize | 图形的长宽,单位为英寸,tuple 缺省为matplotlib.rcParams[“figure.figsize”] |
dpi | 参数指定绘图对象的分辨率,保存图像时的dpi参数为matplotlib,rcParams[“savefig.dpi”] |
facecolor | 图形背景色 |
edgecolor | 图形边框色 |
frameon = True | 是否绘制图形外框架 |
FigureClass | 使用自定义的matplotlib.figure.Figure类 |
clear = False | 图形存在时是否清除原有对象 |
plt.figure("baobei01",figsize=(5,3),dpi=300,facecolor='g',edgecolor='red')
plt.plot(x,y)
plt.title("dpi300")
plt.figure("baobei01",figsize=(5