心得:最近学的东西有些多,路还是需要自己一步步走,用到什么学什么
Matplotlib是一个清大的python绘图和可视化的工具包,数据可视化也是我们数据分析的最重要工具之一,可以帮助我们完成很多操作。
安装:
pip install matplotlib
引用:
import matplotlib.pyplot as plt
1. 简单用法
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4], [1, 2, 3, 4])
plt.ylabel('some numbers') #y轴名称
plt.show()
import matplotlib.pyplot as plt
import numpy as np
plt.plot([0, 3, 9, 15, 30], linestyle='-.', color='r', marker='o', label="A")
plt.plot([1, 3, 16, 23, 30], [30, 23, 13, 25, 30], label='B')
plt.title("Title") # 标题
plt.xlabel('X') # x轴名称
plt.ylabel('Y') # y轴名称
plt.xticks(np.arange(0, 30, 2)) # x轴刻度
plt.xlim(-0.2, 10, 2) # x轴范围
plt.legend() # 曲线图例
plt.show()
3.绘制sin和cos图像
np.arange(start,stop,step)
函数返回一个有终点和起点的固定步长的排列,如[1,2,3,4,5],起点是1,终点是5,步长为1。
x = np.arange(0, 20, 0.01)
plt.plot(x, np.sin(x), 'r-', x, np.cos(x), 'b--')
plt.axis([0,20,-3,3])
plt.show()
x = np.arange(0, 20, 0.01)
plt.plot(x, x**2)
plt.grid(True) # 设置网格线
plt.show()
# 柱状图
import matplotlib.pyplot as plt
data = [12,34,23,54]
labels = ['Jan','Fed','Mar','Apr']
plt.xticks([0,1,2,3],labels) # 设置x轴刻度
plt.bar([0,1,2,3],data)
plt.show()
import matplotlib.pyplot as plt
# 横向柱状图
data = [12,34,23,54]
labels = ['Jan','Fed','Mar','Apr']
plt.yticks([0,1,2,3],labels)
plt.barh([0,1,2,3],data)
import matplotlib.pyplot as plt
# 饼图
plt.pie([10,20,30,40],labels=list('abcd'),autopct="%.2f%%",explode=[0.1,0,0,0]) # 饼图
plt.axis("equal")
plt.show()
# 散点图
import matplotlib.pyplot as plt
import numpy as np
import random
x = np.random.randn(100)
y = np.random.randn(100)
plt.scatter(x,y)
plt.show()
fig,(ax0,ax1) = plt.subplots(nrows=2,figsize=(9,6)) #在窗口上添加2个子图
sigma = 1 #标准差
mean = 0 #均值
x=mean+sigma*np.random.randn(10000) #正态分布随机数
ax0.hist(x,bins=40,normed=False,histtype='bar',facecolor='yellowgreen',alpha=0.75) #normed是否归一化,histtype直方图类型,facecolor颜色,alpha透明度
ax1.hist(x,bins=20,normed=1,histtype='bar',facecolor='pink',alpha=0.75,cumulative=True,rwidth=0.8) #bins柱子的个数,cumulative是否计算累加分布,rwidth柱子宽度
plt.show() #所有窗口运行
保存文件类型根据文件扩展名推断出来的
plt.savefig('123.pdf')
保存图片时,有时会遇到问题,将导入的类型改为Agg就可以正常保存
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
参考:
xHibiki
https://www.jianshu.com/p/da385a35f68d
官网链接