Python数据可视化之matplotlib实践,matplotlib实时动态画图

  Python数据可视化之matplotlib实践,matplotlib实时动态画图

  Matplotlib作为Python的2D图形库,可以生成各种硬拷贝格式和跨平台交互环境的出版质量图形。本文将使用Matplotlib库绘制实时数据动画,有兴趣的可以看看。

  00-1010 1.实时数据可视化的数据准备01。设置图表主题样式02。使用样本数据2。利用电影票房数据制作动画。

  

目录

  进口熊猫作为pd

  将matplotlib.pyplot作为plt导入

  #设置一般样本数据

  X=[0,1,2,3,4] # x轴数据

  Y=[0,1,2,3,4] # y轴数据

  #设置多维数据

  Dev_x=[25,26,27,28,29,30] #开发者年龄

  Dev _ y=[7567,8789,8900,11560,16789,25231] #收入情况

  py _ dev _ y=[556767899098 15560 2078923231]# Python开发者

  JS _ DEV _ Y=[65677898098 12356 1478920231]# Java开发者

  devsalary=pd。数据帧([开发x,开发y,开发py,开发js])

  

一、实时数据可视化的数据准备

  之前都是用经典款式:

  plt.style.use(经典)

  plt.plot(x,y)

  现在换成538风格:

  PLT . style . use( fivethirtyeight )# 538统计样式

  从IPython.display导入HTML #实现动态过程中必须引入的库

  plt.plot(x,y)

  

01.设置图表主题样式

  随机导入

  从itertools导入计数

  index=count()

  x1=[]

  y1=[]

  x1.append(下一个(索引))

  y1.append(random.randint(0,50))

  plt.plot(x1,y1)

  我们先来试试手动效果:

  这种效果就是我们想要实现的动画。

  定义动画(i):

  x1.append(下一个(索引))

  y1.append(random.randint(0,50))

  plt.plot(x1,y1)

  从matplotlib.animation导入FuncAnimation

  Ani=funcanimation (PLT。GCF(),animate,interval=1000) # interval=1000代表时间间隔,值越小,时间间隔越短。

  HTML(ani.to_jshtml())

  上面的视频是数据生成过程的演示,你会发现每次变化颜色都会变化。

  视频下方还有一张完整的图片,标明了Python在时间节点间生成的序列数:

  如果希望图像在每次更改时都在原始基础上更改,请使用以下方法:

  plt.cla()

  定义动画(i):

  x1.append(下一个(索引))

  y1.append(random.randint(0,50))

  Plt.cla() #每次改都是在原来的基础上改。

  plt.plot(x1,y1)

  

02 使用样例数据

  实时数据通常与时间线相关联。这次用的数据:cnboo1.xlsx

  进口熊猫作为pd

  cnbo df=PD . read _ excel( cn boo 1 . xlsx )

  cnbodfsort=cnbodf . sort _ values(by=[ BO ],ascending=False)

  def mkpoints(x,y):

  return len(str(x))*(y/25)-3

  cnbodfsort[ points ]=cnbodfsort . apply(lambda x : mkpoints(x . BO,x.PERSONS),axis=1)

  cnbodfgb=cnbodfsort . group by( TYPE )。平均值([bo ,价格,人员,点数])

  cnbodfsort[ TYPE 1 ]=cnbodfsort[ TYPE ]。apply(lambda x : x . split(/)[0])

  cnbodfgb=cnbodfsort . group by([ type 1 ])[ ID , BO , PRICE , PERSONS , points]。平均值()

  cnbodfgrast=cnbodfgb . sort _ values( BO ,ascending=False)

  x=cnbodfsort[PERSONS]

  y=cnbodfsort[价格]

  plt.plot(x,y)

  当我们把人数和电影票价格分别作为X轴和Y轴的数据时,可以看到数据是比较无序的:

  动态实时数据线往往和时间有关。

  所以我们需要重新定义数据。

  y1=y.to_list()

  X1=x.to_list()

  定义动画(i):

  x1.append(下一个(索引))

  Y1。append (y [random.randint (1,49)]) #表示从50个电影数据中随机选择一个。

  Plt.cla() #每次改都是在原来的基础上改。

  plt.plot(x1,y1)

  x1=[]

  y1=[]

  ani=FuncAnimation(plt.gcf(),animate,interval=1000)

  HTML(ani.to_jshtml())

  最终呈现的效果如下:

  关于Python matplotlib绘制实时数据动画的这篇文章到此为止。有关Python matplotlib数据动画的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: