一、Matplotlib简介
Matplotlib是一个python2D绘图库,是一个数据可视化模块。使用Matplotilb能够创建多数类型的图表,如条图,散点图,直方图,饼图,堆叠图,3D图和地图图表。
官网:http://matplotlib.org/
1.安装
a) pip install -i https://pypi.douban.com/simple/ matplotlib
2.第一个测序:
# 刘某-00
import matplotlib.pyplot as plt
plt.plot([1,2,3],[5,7,4])
plt.show()
二、图例、标题和标签
# 刘某-00(图例、标题和标签)
import matplotlib.pyplot as plt
import matplotlib
# 设置中文字体
matplotlib.rcParams['axes.unicode_minus'] = False
matplotlib.rcParams['font.sans-serif'] = ['Microsoft YaHei']
matplotlib.rcParams['font.family']='sans-serif'
x = [1,2,3]
y = [5,7,4]
x2 = [1,2,3]
y2 = [10,14,12]
plt.plot(x, y, label='第一条线')
plt.plot(x2, y2, label='第二条线')
plt.xlabel('x轴标签')
plt.ylabel('y轴标签')
plt.title('刘某-matplotlib教程')
plt.legend()
plt.show()
三、条形图:
import matplotlib.pyplot as plt
import matplotlib
bar函数
# 设置中文字体
matplotlib.rcParams['axes.unicode_minus'] = False
matplotlib.rcParams['font.sans-serif'] = ['Microsoft YaHei']
matplotlib.rcParams['font.family']='sans-serif'
plt.bar([1,3,5,7,9],[5,2,7,8,2], label="条形图1")
plt.bar([2,4,6,8,10],[8,6,2,5,6], label="条形图2", color='g')
plt.xlabel('数量')
plt.ylabel('高度')
plt.title('刘某-matplotlib教程')
plt.legend()
plt.show()
四、直方图
import matplotlib.pyplot as plt
import matplotlib
hist
# 设置中文字体
matplotlib.rcParams['axes.unicode_minus'] = False
matplotlib.rcParams['font.sans-serif'] = ['Microsoft YaHei']
matplotlib.rcParams['font.family']='sans-serif'
# 年龄
population_ages = [22,55,62,45,21,22,34,42,42,4,99,102,110,120,121,122,130,111,115,112,80,75,65,54,44,43,42,48]
# 年龄区间,10岁为一个区间
bins = [0,10,20,30,40,50,60,70,80,90,100,110,120,130]
plt.hist(population_ages, bins, histtype='bar', rwidth=0.8)
plt.xlabel('x')
plt.ylabel('y')
plt.title('刘某-matplotlib教程')
plt.legend()
plt.show()
散点图:scatter
五、
import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8]
y = [5,2,4,2,1,4,5,2]
plt.scatter(x,y, label='散点', color='r', s=25, marker=".")
# 颜色、直径、形状
# http://matplotlib.org/api/markers_api.html
plt.xlabel('x')
plt.ylabel('y')
plt.title('刘某-matplotlib教程')
plt.legend()
plt.show()
六、堆叠图stackplot
import matplotlib.pyplot as plt
import matplotlib
# 设置中文字体
matplotlib.rcParams['axes.unicode_minus'] = False
matplotlib.rcParams['font.sans-serif'] = ['Microsoft YaHei']
matplotlib.rcParams['font.family']='sans-serif'
days = [1,2,3,4,5]
sleeping = [7,8,6,11,7]
eating = [2,3,4,3,2]
working = [7,8,7,2,2]
playing = [8,5,7,8,13]
plt.plot([],[],color='m', label='睡觉', linewidth=5)
plt.plot([],[],color='c', label='吃饭', linewidth=5)
plt.plot([],[],color='r', label='工作', linewidth=5)
plt.plot([],[],color='k', label='玩耍', linewidth=5)
stackplot
plt.stackplot(days, sleeping, eating, working, playing, colors=['m','c','r','k'])
plt.xlabel('x')
plt.ylabel('y')
plt.title('刘某-matplotlib教程')
plt.legend()
plt.show()