Matplotlib:数据可视化工具,可以以渐进、交互式实现数据可视化。
一、实现一个简单的 Matplotlib 绘图
import matplotlib.pyplot as plt
# 1.创建画布
plt.figure(figsize=(16,10), dpi=400) # figsize:指定图的长宽比;dpi:图像的清晰度;返回fig对象
# 2. 绘制折线图
plt.plot([1,2,3,4,5,6,7], [12,32,4,12,3,54,2])
# 3. 显示图像
plt.show()
二、基础绘图功能
完善原始折线图——给图形添加一些辅助功能
例:画出某城市11点到12点一小时内每分钟的温度变化折线图,温度范围15°C—18°C。
1. 绘制初始图形;
2. 添加自定义x, y刻度;
· plt.xticks(x,**kwargs)
· plt.yticks(x,**kwargs)
3. 添加网格显示,更清楚地观察图形对应的数值;
4. 添加描述信息;
5. 图像保存;
# 保存图像到指定位置
# 引号内是文件的保存路径,默认为代码文件夹
plt.savefig("test.png")
完整代码呈现:
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"] #设置字体
plt.rcParams["axes.unicode_minus"]=False #该语句解决图像中的“-”负号的乱码问题
import random
### 画出温度变化图
## 1.准备x, y坐标的数据(后续可以通过文件读取等操作更换x, y值)
x = range(60)
y_shanghai = [random.uniform(15,18) for i in x] # 列表生成式,随机生成在a和b范围内的实数
## 2.创建画布
plt.figure(figsize=(20,8), dpi=100)
## 3.绘制折线图
plt.plot(x, y_shanghai)
## 4.修改刻度
# 构造x轴、y轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)
# 修改x, y轴坐标的刻度显示
plt.xticks(x[::5], x_ticks_label[::5])
plt.yticks(y_ticks[::5])
## 5.添加网格显示
plt.grid(True, linestyle = '--', alpha = 0.5)
## 6.添加描述信息
plt.xlabel("时间", fontsize = 15)
plt.ylabel("温度", fontsize = 15)
plt.title("中午11点0分到12点之间的温度变化图示", fontsize = 20)
## 5.显示图像
plt.show()