首页 > 编程笔记 > Python笔记 阅读:19

Matplotlib plot()绘制折线图的用法(附带实例)

折线图可以显示随时间变化的连续数据,因此非常适用于显示数据的变化趋势。如天气走势图、学生成绩走势图、股票月成交量走势图、月销售统计分析图等都可以用折线图体现。

在折线图中,类别数据沿水平轴均匀分布,值数据沿垂直轴均匀分布。

Matplotlib 绘制折线图主要使用 plot() 函数,语法格式如下:
matplotlib.pyplot.plot(*args, **kwargs)
*args 是一个可变长度的参数,允许使用可选格式的字符串修饰 x 轴和 y 轴。

【实例 1】绘制简单的折线图,程序代码如下:
# 导入matplotlib模块
import matplotlib.pyplot as plt

# range()函数创建整数列表
x = range(1,15,1)
y = range(1,42,3)

plt.plot(x,y) # 绘制折线图
plt.show()    # 显示图表
运行程序,结果如下图所示:


图 1 简单折线图

【实例 2】绘制 14 日天气预报折线图,程序代码如下:
# 导入相关模块
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # 解决中文乱码问题
plt.rcParams['axes.unicode_minus'] = False # 解决负号不显示问题
df=pd.read_excel('../datas/天气.xlsx') # 读取Excel文件
x=df['日期'] # x轴数据
# y轴数据
y1=df['最高温度']
y2=df['最低温度']
# 多折线图
plt.plot(x,y1,label='最高气温',color='orange',marker='o')
plt.plot(x,y2,label='最低气温',color='blue',marker='o')
plt.ylabel('温度') # y轴标题
plt.title(label='14日天气预报折线图',fontsize='18') # 图表标题
plt.ylim(-20,10)
# 添加文本标签
for a,b in zip(x,y1):
    plt.text(a,b+0.3,'%.0f'%b+'°C',ha = 'center',va = 'bottom',fontsize=9)
for a,b in zip(x,y2):
    plt.text(a,b+0.3,'%.0f'%b+'°C',ha = 'center',va = 'bottom',fontsize=9)
plt.legend(['最高温度', '最低温度']) # 图例
plt.show() # 显示图表
运行程序,结果如下图所示:


图 2 多折线图

相关文章