数字可视化是将数据用统计图表方式呈现。
python的作图库有两种,matplotlib 和 seaborn,本文主要介绍Matplotlib。
Matplotlib 是一个 Python 的 2D绘图库。
1.散点图
2.折线图
x=[1,2,3,4,5]
y=[10,20,20,35,30]
# 作图
'''
linewidth:修改线条宽度
color: 修改线条颜色
marker: 点的形状,o表示点为圆圈标记
linestyle:线条的形状,dash表示用虚线连接,也可以直接用'--'表示
label: 增加图例
'''
plt.plot(x,y,linewidth=3,color='red',marker='o',linestyle='--',label='我是图例')
# 显示图例
plt.legend(loc = 'upper left') # loc设置图例位置
# 设置图标的标题,并且给坐标轴加上标签
plt.title('我是标题',fontsize=20) #fontsize 修改标题大小
plt.xlabel('我是横轴')
plt.ylabel('woshi zongzhou')
plt.show()
修改坐标轴方法
使用数组同时绘制多个线性
import numpy as np
x= np.arange(0,20,0.2)
y1 = x
y2 = x**2
y3 = x**3
# 使用plot绘制线条
lineList = plt.plot(x,y1,x,y2,x,y3)
# 使用setp方法可以同时设置多个线条的属性
plt.setp(lineList,color='r')
plt.show()
在图上添加文本注释
# 数据
x=[1, 2, 3, 4]
y=[1, 4, 9, 16]
# 作图
plt.plot(x,y ,color='r')
# 添加坐标轴名称
plt.xlabel('我是x轴')
plt.ylabel('我是y轴')
# 添加注释
'''
参数名xy:箭头注释中箭头所在位置,
参数名xytext:注释文本所在位置,
arrowprops在xy和xytext之间绘制箭头,
shrink表示注释点与注释文本之间的图标距离
# '''
plt.annotate('我是注释',xytext=(2,10) ,xy =(2,4.5),arrowprops=dict(facecolor='black',shrink=0.02))
plt.show()
在同一个画板上绘制多张图
# 数据
x= np.arange(0,10,0.5)
y1 = x
y2 = x**2
y3 = x**3
# 创建画板
plt.figure(figsize=(3*5,1*3)) # figsize(画板宽度,画板高度),宽度决定列数,高度决定行数
ax1 = plt.subplot(1,3,1)
plt.plot(x,y1)
plt.title('我是y1对应的图')
# 创建画纸2并作图
ax2 = plt.subplot(1,3,2)
plt.plot(x,y2)
plt.title('我是y2对应的图')
# 创建画纸3并作图
ax3 = plt.subplot(1,3,3)
plt.plot(x,y3)
plt.title('我是y3对应的图')
plt.show()
3.柱状图
# 数据
x = np.array(list('ABCDEF'))
y = np.random.randint(1,100,6)
plt.bar(x,y,width=0.6,facecolor='lightpink')
plt.show()
4,热图
data=[]
for i in range(5):
temp = list(np.random.randint(10,50,4))
data.append(temp)
data
# 作图并选择热图的颜色填充风格,这里选择autumn
from matplotlib import cm
plt.imshow(data,cmap=plt.cm. autumn_r)
#设置标题,横纵坐标
plt.title('我是标题')
# 增加右侧颜色进度条
plt.colorbar()
plt.show()