Python绘制数据动态图的方法详解

目录
  • 安装
  • 玩起来
    • 动态地图
    • 动态水平bar
    • 动态垂直bar
    • 动态折线
    • 动态累积bar
    • 动态散点图
    • 动态气泡图
    • 多子图一起动

数据动态图怎么做,效果图,

多子图联动竞赛图

安装

pip install pandas_alive

#或者
conda install pandas_alive -c conda-forge

玩起来

支持数据

数据格式如下,

使用方法类似pandas这些,pandas仅需一行代码解决支持图形类别

动态地图

结合geopandas,

动态水平bar

import pandas as pd
import pandas_alive
import matplotlib.pyplot as plt

plt.style.use('ggplot')

#读入数据
elec_df = pd.read_csv("Aus_Elec_Gen_1980_2018.csv",
                      index_col=0,
                      parse_dates=[0],
                      thousands=',')

#定义求和def
def current_total(values):
    total = values.sum()
    s = f'Total : {int(total)}'
    return {'x': .85, 'y': .2, 's': s, 'ha': 'right', 'size': 11}

#缺省值0填充、绘图
elec_df.fillna(0).tail(n=10).plot_animated(
    'electricity-generated-australia.gif',  #保存gif名称
    period_fmt="%d/%m/%Y",  #动态更新图中时间戳
    title='Australian Electricity Sources 1980-2018',  #标题
    perpendicular_bar_func='mean',  #添加均值辅助线
    period_summary_func=current_total,  #汇总
    cmap='Set1',  #定义调色盘
    n_visible=5,  #柱子显示数
    orientation='h',#柱子方向
)

动态垂直bar

动态折线

elec_df.diff().fillna(0).tail(n=10).plot_animated(filename='line-chart.gif',
                                                 kind='line',#指定折线模式
                                                 cmap='Set1',
                                                 period_label={
                                                     'x': 0.25,
                                                     'y': 0.9
                                                 },
                                                 line_width=1,
                                                 add_legend=True,
                                                 fill_under_line_color='#01a2d9')

动态累积bar

import pandas_alive
covid_df.sum(axis=1).fillna(0).tail(n=10).plot_animated(
    filename='sumbar-chart.gif',
    kind='bar',   #指定bar模式
    cmap='Set1',  #定义调色盘
    period_label={
        'x': 0.1,
        'y': 0.9
    },
    orientation='h',
    enable_progress_bar=True,
    steps_per_period=2,
    interpolate_period=True,
    period_length=200)

动态散点图

import pandas as pd
import pandas_alive

#max散点数据
max_temp_df = pd.read_csv(
    "Newcastle_Australia_Max_Temps.csv",
    parse_dates={"Timestamp": ["Year", "Month", "Day"]},
)

#min散点数据
min_temp_df = pd.read_csv(
    "Newcastle_Australia_Min_Temps.csv",
    parse_dates={"Timestamp": ["Year", "Month", "Day"]},
)

#按时间戳merge max/min数据
merged_temp_df = pd.merge_asof(max_temp_df, min_temp_df, on="Timestamp")

merged_temp_df.index = pd.to_datetime(
    merged_temp_df["Timestamp"].dt.strftime('%Y/%m/%d'))

keep_columns = [
    "Minimum temperature (Degree C)", "Maximum temperature (Degree C)"
]

merged_temp_df.head(n=5000)[keep_columns].resample("Y").mean().plot_animated(
    filename='scatter-chart.gif',
    cmap='Set1', 
    kind="scatter",#指定散点模式
    size=10,
    title='Max & Min Temperature Newcastle, Australia')

动态气泡图

import pandas_alive

multi_index_df = pd.read_csv("multi.csv", header=[0, 1], index_col=0)

multi_index_df.index = pd.to_datetime(multi_index_df.index, dayfirst=True)

map_chart = multi_index_df.tail(n=40).plot_animated(
    kind="bubble",  #指定气泡模式
    filename="bubble-chart.gif",
    x_data_label="Longitude",
    y_data_label="Latitude",
    size_data_label="Cases",
    color_data_label="Cases",
    vmax=5,
    steps_per_period=1,
    interpolate_period=True,
    period_length=500,
    dpi=150)

多子图一起动

这部分可以结合matplotlib的多子图绘制,实现各种个性化动图,可参考matplotlib-多子图绘制(为所欲为版),核心代码如下,

到此这篇关于Python绘制数据动态图的方法详解的文章就介绍到这了,更多相关Python数据动态图内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python可视化工具如何实现动态图表

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于菜J学Python ,作者J哥 前言 这次呢,我想讲讲地图可视化的内容,以前我也写过用Python的内置库绘制地图,但总感觉不够美观.如何才能在短时间内制作漂亮的可视化地图呢,我觉得Python+可视化工具是不错的选择. 以下动态可视化地图就是J哥亲手绘制,展现了一段时间内广州市企事业单位在网上商城采购商品的分布及随时间的变化. 接下来,将手把手教你如何绘制这个动态

  • python多线程实现动态图绘制

    目录 一.背景 二.步骤 1.使用matplotlib绘制动态图 2.创建一个线程用于更新数据 三.代码框架 一.背景 有些情况下,我们面对实时更新的数据,希望能够在一个窗口中可视化出来,并且能够实时更新,方便我们观察数据的变化,从而进行数据分析,例如:绘制音频的波形,绘制动态曲线等,下面介绍使用matplotlib结合多线程绘制动态图,希望能帮助到有需要的朋友. 遇到的场景:最近刚好在学习人工智能中的遗传算法,并且使用该算法求解TSP,了解这个算法的朋友知道这个算法是通过不断迭代,寻找适应度大

  • Python 绘制北上广深的地铁路线动态图

    目录 坐标点的采集 坐标系的转换 地理可视化 其他效果展示 上海-变色 广州-卫星图 深圳-个性化配色 小结 今天教大家用python制作北上广深--地铁线路动态图,这可能是全网最全最详细的教程了. 坐标点的采集 小五之前做过类似的地理可视化,不过都是使用网络上收集到的json数据.但很多数据其实是过时的,甚至是错误/不全的.所以我们最好还是要自己动手,丰衣足食(爬虫大法好).打开高德地图的地铁网页 可以轻松得到北京地铁数据的接口,同理也把其他三个城市的url复制出来.有了api,解析json即

  • Python实战之实现获取动态图表

    目录 前言 开发工具 环境搭建 百度指数 微博指数 结果展示 前言 利用Python实现获取动态图表,废话不多说~ 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: re模块: requests模块: urllib模块: pandas模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 看一下B站2019年「数据可视化」版块的情况,第一个视频超2百万的播放量,4万+的弹幕 百度指数 获取百度指数,首先需要登

  • Python 数据可视化实现5种炫酷的动态图

    本文将介绍 5 种基于 Plotly 的可视化方法,你会发现,原来可视化不仅可用直方图和箱形图,还能做得如此动态好看甚至可交互. 那么,Plotly 有哪些好处?Plotly 的整合能力很强:可与 Jupyter Notebook 一起使用,可嵌入网站,并且完整集成了 Dash——一种用于构建仪表盘和分析应用的出色工具. 启动 如果你还没安装 Plotly,只需在你的终端运行以下命令即可完成安装: pip install plotly 安装完成后,就开始使用吧! 动画 在研究这个或那个指标的演变

  • EasyX绘制透明背景图的方法详解

    目录 三元光栅操作 优化方案 三元光栅操作 根据在网上的搜索总结得到两种方案,最常见的绘制带有透明背景的图像的方案都是采用如下的源图像和掩码图像叠加来消去边缘部分: IMAGE img[2]; loadimage(&img[0], "sun1.png", 100, 100); // 掩码图像 loadimage(&img[1], "sun0.png", 100, 100); // 源图像 putimage(0, 0, &img[0], NOT

  • Python实现在Excel中绘制可视化大屏的方法详解

    目录 数据清洗 绘制图表 生成可视化大屏 大家新年好哇,今天小编来给大家分享如何在Excel文档当中来绘制可视化图表,并且制作一个可视化大屏,非常的容易,这里我们会用到openpyxl模块,那么首先第一步便是调用该模块来读取Excel文件,代码如下 # 读取Excel文档并且指定工作表的名称 file_name = 'Bike_Sales_Playground.xlsx' df = pd.read_excel(file_name,sheet_name='bike_buyers') 当然为了保险起

  • Matlab绘制雨云图的方法详解

    目录 介绍 横向雨云图 纵向雨云图 介绍 写了俩代码模板,用来绘制横向云雨图与纵向云雨图,云雨图其实就是用把小提琴图拆开来的模板,想获取小提琴图绘制函数的可以看这里:基于Matlab绘制小提琴图的示例代码 后面的俩模板用的时候只需要换换数据,颜色及每一类名称即可,雨云图绘制效果如下: 横向雨云图 function rainCloudsTMPL1 % @author: slandarer % 在这里放入你的数据============================================

  • 基于Python的Post请求数据爬取的方法详解

    为什么做这个 和同学聊天,他想爬取一个网站的post请求 观察 该网站的post请求参数有两种类型:(1)参数体放在了query中,即url拼接参数(2)body中要加入一个空的json对象,关于为什么要加入空的json对象,猜测原因为反爬虫.既有query参数又有空对象体的body参数是一件脑洞很大的事情. 一开始先在apizza网站 上了做了相关实验才发现上面这个规律的,并发现该网站的请求参数要为raw形式,要是直接写代码找规律不是一件容易的事情. 源码 import requests im

  • Python可视化Matplotlib折线图plot用法详解

    目录 1.完善原始折线图 - 给图形添加辅助功能 1.1 准备数据并画出初始折线图 1.2 添加自定义x,y刻度 1.3 中文显示问题解决 1.4 添加网格显示 1.5 添加描述信息 1.6 图像保存 2. 在一个坐标系中绘制多个图像 2.1 多次plot 2.2 显示图例 2.3 折线图的应用场景 折线图是数据分析中非常常用的图形.其中,折线图主要是以折线的上升或下降来表示统计数量的增减变化的统计图.用于分析自变量和因变量之间的趋势关系,最适合用于显示随着时间而变化的连续数据,同时还可以看出数

  • Python实现提取音乐频谱的方法详解

    目录 前言 1.准备 2.频谱展示 前言 你有没有经常好奇一些音乐软件的频谱特效是怎么做的,为什么做的这么好看?有没有想试试自己提取音乐频谱并可视化展现出来?今天,咱就结合上次的音乐剪辑操作: 3行Python代码实现剪辑音乐 来简单粗暴地可视化下面这首歌曲的频谱! 1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装. Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(c

  • Python+matplotlib实现循环作图的方法详解

    目录 一.前言 二.实现过程 三.总结 大家好,我是皮皮. 一.前言 前几天在Python白银交流群[在 途中要勤奋的熏肉肉]问了一道Python可视化处理的问题,如下图所示. 原始代码,如下所示: import pandas as pd import numpy as np import matplotlib.pyplot as plt import scipy.stats as st result_parameter_peak = pd.read_csv("result_parameter_

  • Python制作数据分析透视表的方法详解

    目录 1.pivot_table函数index属性 2.pivot_table函数values属性 3.pivot_table函数aggfunc属性 4.pivot_table函数columns属性 透视表是一种可以对数据动态排布并且分类汇总的表格格式,在常用的python的数据分析非标准库pandas中体现为pivot_table模块. pivot_table数据透视表可以灵活的定制数据分析需求进行汇总,当然在Excel办公操作中早就存在了数据透视表的工具.如今,数据透视表被应用在python

  • 对python pandas 画移动平均线的方法详解

    数据文件 66001_.txt 内容格式: date,jz0,jz1,jz2,jz3,jz4,jz5 2012-12-28,0.9326,0.8835,1.0289,1.0027,1.1067,1.0023 2012-12-31,0.9435,0.8945,1.0435,1.0031,1.1229,1.0027 2013-01-04,0.9403,0.8898,1.0385,1.0032,1.1183,1.0030 ... ... pd_roll_mean1.py # -*- coding: u

  • 对python dataframe逻辑取值的方法详解

    我遇到的一个小需求,就是希望通过判断pandas dataframe中一列的值在两个条件范围(比如下面代码中所描述的逻辑,取小于u-3ε和大于u+3ε的值),然后取出dataframe中的所有符合条件的值,这个需求的解决与普通的iloc.loc.ix的方式不同,所以我想分享一下,希望可以帮到遇到这个困难的朋友们,下面是我的实例代码: doc[~((doc.iloc[:,141:142]<(mean_value-3*std_value))&(doc.iloc[:,141:142]>(me

随机推荐