资讯专栏INFORMATION COLUMN

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

89542767 / 551人阅读

  小编写这篇文章的一个主要目的,主要是给大家去做一个介绍,介绍的内容是,利用Python这门语言,去绘制相关的数据动态图表,那么,具体的绘制方法是什么呢?下面小编就给大家详细的解答。


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

01.png

  多子图联动竞赛图


  安装


  pip install pandas_alive
  #或者
  conda install pandas_alive-c conda-forge
  玩起来


  支持数据


  数据格式如下,

03.png

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


  动态地图


  结合geopandas,

15.png

  动态水平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

16.png

  动态折线


  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')

17.png

  动态累积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)

 18.png

    动态散点图


  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')

19.png

  动态气泡图


  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)

20.png

  多子图一起动


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

21.png

22.png

  综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128339.html

相关文章

  • Python+matplotlib绘制多子图的方法详解

      matplotlib作为一种常见的可视化图形操作软件,在日常的生活中应用还是比较的广泛的,下面跟着小编的视角,带着大家去详细解答Python+matplotlib绘制多子图的方法。  本文速览  matplotlib.pyplot api绘制子图  面向对象方式绘制子图  matplotlib.gridspec.GridSpec绘制子图  任意位置添加子图  关于pyplot和面向对象两种绘图...

    89542767 评论0 收藏0
  • Python pyecharts绘制水球图的方法是什么?

      小编写这篇文章的主要目的,主要是给大家去做一个详细解答,介绍的内容是关于Python pyecharts的一些详细内容,给大家讲解关于如何绘制水球图等相关事宜,具体的内容,下面给大家详细解答。  水球图  水球图首先是动态的效果,像水流一样波动,所以看起来比较的舒服,一般用于业务里面的完成率,其实和之前的仪表盘有点类似,但是我个人绝对水球图更加的好,因为看起来比较的炫酷。  frompyech...

    89542767 评论0 收藏0
  • Python数据分析:直方图及子图的绘制

    摘要:直方图的绘制也需要用到下的,只不过在绘制折线图时我们采用的是,而绘制直方图时我们需要采用。利用确定直方图轴的范围及间距,为最小值,为最大值,为间距。用绘制,为数据,为直方图的特性,可有可无。 1.直方图的绘制也需要用到matplotlib下的pylab,只不过在绘制折线图时我们采用的是plot(),而绘制直方图时我们需要采用hist()。由于在绘制过程中缺少真实数据,我在这里采用np....

    stonezhu 评论0 收藏0
  • Python自动绘制UML图、函数调用图(Call Graph)

    摘要:借助,自动提取代码的动态调用流程图。绘制类图安装是一个开源图形可视化软件。循环曲线表示递归过程调用。绘制的常用工具有静态调用图等。包括模块之间的调用流程函数调用次数及耗时等。 ...

    widuu 评论0 收藏0
  • 详解Python中matplotlib模块的绘图方式

      matplotlib作为常见的可视化绘图工具,在工作当中,应用还是比较的广泛的,那么,我们要怎么使用python这门语言去进行绘图呢?下面就给大家详细解答下。  1、matplotlib之父简介  matplotlib之父John D.Hunter已经去世,他的一生辉煌而短暂,但是他开发的的该开源库还在继续着辉煌。国内介绍的资料太少了,查阅了一番整理如下:  1968出身于美国的田纳西州代尔斯...

    89542767 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<