使用matplotlib绘制二维曲线:如何通过matplotlib库进行绘制动态折线图
使用matplotlib绘制二维曲线:如何通过matplotlib库进行绘制动态折线图from matplotlib.font_manager import FontProperties3.设置中文标签显示:df=pd.read_csv('同花顺股票详情1.csv' encoding='gb18030')2.导入matplotlib库:import matplotlib.pyplot as plt
哈喽,大家好,今天给大家有介绍一下,如何通过matplotlib库进行绘制动态折线图。最终展现的结果为收盘价在不同日期中动态呈现如下:
1.导入数据
我们首先通过pandas将数据导入进来:
import pandas as pd
df=pd.read_csv('同花顺股票详情1.csv' encoding='gb18030')
2.导入matplotlib库:
import matplotlib.pyplot as plt
3.设置中文标签显示:
from matplotlib.font_manager import FontProperties
plt.rcParams['font.sans-serif']=['Adobe Song Std']
3.准备数据:
将日期和收盘价数据准备好:
values=df.收盘价.values
date=df.日期.values
4.建立索引:
索引数量按照数据给定:
x=list(range(len(date)))
5.准备画布:
我们通过figure函数将画布准备好:
fig=plt.figure()
6.设置初始的坐标数据:
p =plt.plot([] [])
7.设置坐标轴的范围:
y轴的坐标范围按照最大收盘价确定,x轴由于动态变化,我们设置显示10条:
plt.ylim(0 max(values))
x_range=10
plt.xlim(0 x_range)
8.坐标轴刻度设置:
通过xticks函数将索引转换为日期值:
plt.xticks(x[0:x_range] date[0:x_range])
9.设置显示数据
为了让数据在动态变化的时候更加美观,将展示数据条数设置6条:
line_range=6
10.设置函数
def update(i):
start=0 if i-line_range
end=i 1
p.set_data(x[start:end] values[start:end])
if i>line_range:
x_end=i (x_range-line_range) if i (x_range-line_range)
else len(x)
plt.xlim(start x_end)
plt.xticks(x[start:x_end] date[start:x_end])
return p
11.应用动画:
animation= FuncAnimation(fig=fig func=update frames=x)
12.最终表现形式如下:
好了,今天的内容就先到这里了,明天见!