一.matplotlib是什么
最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建
二.matplotlib怎么使用
1.导入matplotlib包
from matplotlib import pyplot as plt
x=range(2,26,2)
y=[15,13,14.5,17,20,25,26,26,27,22,18,15]
plt.plot(x,y) #将两个可迭代对象作为两个轴
plt.show() #展示所绘制的图像
2.设置图片大小
from matplotlib import pyplot as plt
plt.figure(figsize=(20,8),dpi=80) #此处size的数据通过括号进行包裹
x=range(2,26,2)
y=[15,13,14.5,17,20,25,26,26,27,22,18,15]
plt.plot(x,y)
plt.savefig("picture.png") #图片进行保存,可以保存为svg格式,放大不会有锯齿
plt.show()
3.调整X或者Y轴上的刻度
可以调整刻度步长
可以进行刻度的稀疏设置
from matplotlib import pyplot as plt
x=range(2,26,2)
y=[15,13,14.5,17,20,25,26,26,27,22,18,15]
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y) #绘制
x_xticks=[i/2 for i in range(4,49)]
plt.xticks(x_xticks) #将x列中的数字对应到图片上x轴
plt.savefig("pic1.png")
plt.show() #展示
可以给x轴、y轴增添指定信息,但是需要使用x_stick将他们进行一一对应
from matplotlib import pyplot as plt
import random
x=range(120)
y=[random.uniform(20,35) for i in range(0,120)]
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
_x=list(x)[::10]
x_stick=["10:{0}".format(i) for i in _x if i<60]
x_stick+=["11:{0}".format(i-60) for i in _x if i>60]
#进行列表元素的增加
#x_stick+=["11:{0}".format(i)for i in range (0,60) if i >60]
plt.xticks(_x,x_stick)
plt.show()
4.设置中文显示
matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字。
from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager
from pylab import *
import random
matplotlib.rc("font",family='YouYuan',weight="bold")
#my_font=font_manager.FontProperties(fname="C:\WINDOWS\FONTS\CANDARA.TTF") #此处要注意FontProperties中的大写
x=range(0,120)
y=[random.randint(20,35) for i in range(0,120)] #random.uniform函数用来随机生成(20,35)中间的一个数
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
_x=list(x)[::3]
x_stick=["10点{0}分".format(i) for i in _x if i <60]
x_stick+=["11点{0}分".format(i-60) for i in _x if i >60]
plt.xticks(_x,x_stick,rotation=45)
plt.xlabel("时间/分钟")
plt.ylabel("温度/摄氏度")
plt.title("时间温度表")
plt.show()
5.给图像添加描述信息
添加对x轴、y轴、表格整体的描述
对每条线的注释
对每条线的格式、颜色设置
添加图例
添加表格
from matplotlib import pyplot as plt
import matplotlib
x=range(11,31)
y1=[1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1] #甲的数据
y2=[1,0,3,1,2,2,3,3,2,1 ,2,1,1,1,1,1,1,1,1,1] #乙的数据
matplotlib.rc("font",family='YouYuan',weight="bold")
plt.figure(figsize=(20,8))
plt.plot(x,y1,label="甲",color="red",linestyle=":") #为线条设置样式,并且填上标签
plt.plot(x,y2,label="乙",color="blue",linestyle="--")
x_stick=["{}岁".format(i) for i in x]
plt.xticks(x,x_stick)
plt.xlabel("年龄")
plt.ylabel("对象个数")
plt.title("年龄对象个数分布图")
plt.grid(alpha=0.5) #设置表格,以及阴影度 ,此处不能加引号设置清晰度,此处需要一个数字而不是字符串
plt.legend(loc="upper left") #添加图例
#plt.savefig("pic3.png")
plt.show()
三.matplotlib还能做什么?
1.折线图的使用场景
•
呈现公司产品
(
不同区域
)
每天活跃用户数
•
呈现
app
每天下载数量
•
呈现产品新功能上线后
,
用户点击次数随时间的变化
•
呈现员工每天上下班时间
2.matplotlib还能用来做什么
matplotlib能够绘制折线图,散点图,柱状图,直方图,箱线图,饼图等