怎么用Python绘制动态可视化图表
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇"怎么用Python绘制动态可视化图表"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这
千家信息网最后更新 2026年11月02日怎么用Python绘制动态可视化图表
这篇"怎么用Python绘制动态可视化图表"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"怎么用Python绘制动态可视化图表"文章吧。
一、安装相关的模块
首先第一步的话我们需要安装相关的模块,通过pip命令来安装
pip install gif
另外由于gif模块之后会被当做是装饰器放在绘制可视化图表的函数上,主要我们依赖的还是Python当中绘制可视化图表的matplotlib、plotly、以及altair这些模块,因此我们还需要下面这几个库
pip install "gif[altair]" pip install "gif[matplotlib]"pip install "gif[plotly]"
二、gif和matplotlib的结合
我们先来看gif和matplotlib模块的结合,我们先来看一个简单的例子,
代码如下:
import randomfrom matplotlib import pyplot as pltimport gifx = [random.randint(0, 100) for _ in range(100)]y = [random.randint(0, 100) for _ in range(100)]gif.options.matplotlib["dpi"] = 300@gif.framedef plot(i): xi = x[i*10:(i+1)*10] yi = y[i*10:(i+1)*10] plt.scatter(xi, yi) plt.xlim((0, 100)) plt.ylim((0, 100))frames = []for i in range(10): frame = plot(i) frames.append(frame)gif.save(frames, 'example.gif', duration=3.5, unit="s", between="startend")
output:
代码的逻辑并不难理解,首先我们需要定义一个函数来绘制图表并且带上gif装饰器,接着我们需要一个空的列表,通过for循环将绘制出来的对象放到这个空列表当中然后保存成gif格式的文件即可。
三、gif和plotly的结合
除了和matplotlib的联用之外,gif和plotly之间也可以结合起来用
代码如下:
import randomimport plotly.graph_objects as goimport pandas as pdimport gifdf = pd.DataFrame({ 't': list(range(10)) * 10, 'x': [random.randint(0, 100) for _ in range(100)], 'y': [random.randint(0, 100) for _ in range(100)]})@gif.framedef plot(i): d = df[df['t'] == i] fig = go.Figure() fig.add_trace(go.Scatter( x=d["x"], y=d["y"], mode="markers" )) fig.update_layout(width=500, height=300) return figframes = []for i in range(10): frame = plot(i) frames.append(frame)gif.save(frames, 'example_plotly.gif', duration=100)output:
整体的代码逻辑和上面的相似,这里也就不做具体的说明了
四、matplotlib多子图动态可视化
上面绘制出来的图表都是在单张图表当中进行的,那当然了我们还可以在多张子图中进行动态可视化的展示,
代码如下:
# 读取数据df = pd.read_csv('weather_hourly_darksky.csv')df = df.rename(columns={"time": "date"})@gif.framedef plot(df, date): df = df.loc[df.index[0]:pd.Timestamp(date)] fig, (ax1, ax2, ax3) = plt.subplots(3, figsize=(10, 6), dpi=100) ax1.plot(df.temperature, marker='o', linestyle='--', linewidth=1, markersize=3, color='g') maxi = round(df.temperature.max() + 3) ax1.set_xlim([START, END]) ax1.set_ylim([0, maxi]) ax1.set_ylabel('TEMPERATURE', color='green') ax2.plot(df.windSpeed, marker='o', linestyle='--', linewidth=1, markersize=3, color='b') maxi = round(df.windSpeed.max() + 3) ax2.set_xlim([START, END]) ax2.set_ylim([0, maxi]) ax2.set_ylabel('WIND', color='blue') ax3.plot(df.visibility, marker='o', linestyle='--', linewidth=1, markersize=3, color='r') maxi = round(df.visibility.max() + 3) ax3.set_xlim([START, END]) ax3.set_ylim([0, maxi]) ax3.set_ylabel('VISIBILITY', color='red')frames = []for date in pd.date_range(start=df.index[0], end=df.index[-1], freq='1M'): frame = plot(df, date) frames.append(frame)gif.save(frames, "文件名称.gif", duration=0.5, unit='s')output:
五、动态气泡图
最后我们用plotly模块来绘制一个动态的气泡图,
代码如下:
import gifimport plotly.graph_objects as goimport numpy as npnp.random.seed(1)N = 100x = np.random.rand(N)y = np.random.rand(N)colors = np.random.rand(N)sz = np.random.rand(N) * 30layout = go.Layout( xaxis={'range': [-2, 2]}, yaxis={'range': [-2, 2]}, margin=dict(l=10, r=10, t=10, b=10))@gif.framedef plot(i): fig = go.Figure(layout=layout) fig.add_trace(go.Scatter( x=x[:i], y=y[:i], mode="markers", marker=go.scatter.Marker( size=sz[:i], color=colors[:i], opacity=0.6, colorscale="Viridis" ) )) fig.update_layout(width=500, height=300) return figframes = []for i in range(100): frame = plot(i) frames.append(frame)gif.save(frames, "bubble.gif")output:
以上就是关于"怎么用Python绘制动态可视化图表"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
图表
动态
可视化
代码
模块
内容
函数
文件
文章
气泡
知识
篇文章
逻辑
先来
相似
之间
价值
例子
名称
命令
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中智农互联网科技
广州为想互联网科技有限公司
广州百单互联网科技有限公司
网络科技有限互联网
深圳科技互联网
互联网医疗科技
奇酷互联网络科技
天扬科技互联网广告
互联网科技股午盘股票涨跌
互联网教育科技公司vipkid
宁夏众和广鑫互联网科技有限公司
互联网还是高科技吗
世界互联网科技公司市值排名
移动互联网科技公司
互联网公司高科技产品
35岁以上互联网科技行业
互联网科技机房
互联网科技的前景
互联网科技大佬云集
北京瑞云互联网科技有限公司
金融科技还是互联网
互联网为科技
上海亿帐通互联网科技
天扬科技互联网广告
济南有互联网科技公司吗
互联网第三次科技革命特征
山东大美朱楼互联网科技有限公司
吉林省码上互联网科技电话
陕西彩京云互联网科技有限公司
互联网科技大佬云集