import matplotlib.pyplot as plt
size指大小,dpi越大清晰度越大
fig=plt.figure(figsize=(20,8),dpi=80,facecolor="yellow")
#创建子图
#创建2行2列子图,画1行1列的子图
plt.subplot(221)
x=np.arange(1,10)
plt.plot(x,x*x+3)
#画2行1列的子图
plt.subplot(223)
plt.scatter(np.arange(0,8),np.random.rand(8))
#画1行2列的子图
plt.subplot(222)
list1=["a","b","c","d","e"]
plt.pie(x=[11,23,43,12,11],labels=list1,explode=[0,0,0,0,0.2],autopct="%.1f%%")
plt.show()
#展示图形
plt.show()
#x轴标题
#指定x轴范围,只能是数字区间
#步长
x=[1,3,5,7]
y=[3,8,4,10]
plt.plot(x,y)
plt.xticks([x for x in range(max(x)+1) if x %2 == 0]) #使step=2
plt.yticks([y for y in range(max(y)+1)])
#图例展示,如果有图例则必须要写上此函数
#直线、曲线
x=[1,2,3]
y=[3,4,5]
plt.plot(x,y)
plt.show()
x=[1,2,3,4]
y=[10,21,32,14]
plt.bar(x,y,width=0.4,align="center,color="red")
plt.show()
x=np.arange(3)
y1=[2,3,4]
y2=[2,4,5]
tick_label=["one","two","three"]
bar_width=0.3
plt.bar(x,y1,color="c",label="aaa",width=bar_width)
plt.bar(x+bar_width,y2,color="y",label="bbb",width=bar_width)
#第二个x,要x+bar_width,不然会重合
plt.legend()
plt.show()
x=range(3)
y1=np.random.random(3)
y2=np.random.random(3)
plt.bar(x,y1,color="b",label="aaa")
plt.bar(x,-y2,color="g",label="bbb")
#注意-y2,这里y2在负半轴,不然会重合
###注释设置如下
for i,j in zip(x,y1):
plt.text(i,j,"%.2f"%j,va="bottom")
for i,j in zip(x,y2):
plt.text(i,-j,"%.2f"%j,va="top")
plt.ylim(-1.5,1.5)
plt.legend()
plt.show()
list1=["a","b","c","d","e"]
plt.pie(num=[11,23,43,12,11],labels=list1,explode=[0,0,0.1,0,0.2],autopct="%.1f%%")
plt.rcParams["font.sans-serif"]="SimHei"
‘b’ 蓝 ;‘g’ 绿 ;‘r’ 红 ;‘k’ 黑 ;‘w’ 白
‘.’ 点; 'o ’ 圆圈; ‘s’ 方形;‘*’ 星形
‘-’ 实线; ’–’ 虚线
#网格(alpha是透明度)
plt.grid(alpha=0.3)
根据x、y坐标向图像添加文本
text(x,y,s) # s指文本(字符串),三者为必备参数
for i,j in zip(x,y1):
plt.text(i,j,"%.2f"%j,va="bottom")
for i,j in zip(x,y2):
plt.text(i,-j,"%.2f"%j,va="top")