matplotlib学习

matplotlib

1.导入

import()

import matplotlib.pyplot as plt 

figure()

size指大小,dpi越大清晰度越大

fig=plt.figure(figsize=(20,8),dpi=80,facecolor="yellow")

plt.subplot()

#创建子图

#创建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()
7

show()

#展示图形

plt.show()   

2.添加画布内容

plt.title()

plt.xlabel()

#x轴标题

plt.ylabel()

plt.xlim(xmin,xmax)

#指定x轴范围,只能是数字区间

plt.ylim(ymin,ymax)

plt.xticks()

#步长

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)])
matplotlib学习_第1张图片

plt.yticks()

plt.legend()

#图例展示,如果有图例则必须要写上此函数

3.不同图表

plt.plot()

#直线、曲线

x=[1,2,3]
y=[3,4,5]
plt.plot(x,y)
plt.show()

plt.bar()

单列条形图
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()
matplotlib学习_第2张图片
数据对比柱状图
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()
matplotlib学习_第3张图片

plt.bath() #横向条形

plt.polar() #极坐标图

plt.pie() #饼图

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%%")
matplotlib学习_第4张图片

plt.scatter() #散点图

plt.hist() #直方图

4.其他描述信息

设置中文

plt.rcParams["font.sans-serif"]="SimHei"

线条颜色color

‘b’ 蓝 ;‘g’ 绿 ;‘r’ 红 ;‘k’ 黑 ;‘w’ 白

线条标记marker

‘.’ 点; 'o ’ 圆圈; ‘s’ 方形;‘*’ 星形

线条类型line

‘-’ 实线; ’–’ 虚线

网格

#网格(alpha是透明度)
plt.grid(alpha=0.3)  

text() #添加文本

根据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") 

你可能感兴趣的:(matplotlib,学习,python)