动态图表的魅力与Plotly库的应用

在这个信息爆炸的时代,每天都在通过社交媒体更新照片,分享生活点滴。数据无处不在,而将数据以动态图表的形式展现出来,可以极大地提高信息的吸引力和理解度。就像电影一样,一个引人入胜的故事能够带来更高的票房收入,而往往更容易被短视频所打动,而不是阅读长篇大论。这是因为大脑处理图像信息的速度远快于文字。

动态图表正是这种视觉化的强大工具,它能够在短时间内吸引观众的注意力。本文将探讨如何使用Plotly库来制作动态图表,以及如何通过参数调整来增强图表的视觉效果。

Plotly库简介

Plotly是一个强大的Python库,它能够轻松创建易于理解且具有动画效果的图表。下面将介绍如何导入库并读取数据集,以及如何制作动态条形图。

import plotly.express as px import pandas as pd

导入库后,数据集看起来如下:

数据集理解

数据集中包含以下字段:

  • 国家(country):包含各个国家的名称。
  • 大陆(continent):包含各个大陆的名称。
  • 年份(year):包含每个国家对应的年份值。
  • 预期寿命(lifeExp):告诉各国的预期寿命。
  • 人口(pop):告诉各国的人口数量。
  • 人均GDP(gdpPercap):告诉各国的平均GDP值。

接下来,将制作一个以年份为依赖轴的动态条形图,首先展示每个大陆随年份变化的人口数量。

fig = px.histogram(df, x="continent", y="pop", color="continent", animation_frame="year", animation_group="country", range_y=[0,4000000000]) fig.show()

图表参数理解

普通图表参数说明:

  • x:x参数接受一个值,该值必须出现在x轴上。
  • y:y参数接受一个值,该值必须出现在y轴上。
  • color:color参数接受一个值,该值必须出现在图例中。如果是简单的条形图,那么每个不同的类别将有不同的颜色显示在图表中。

动态图表参数说明:

  • animation_frame:animation_frame参数接受一个值,在使用动画时需要该值。例如,这里使用年份作为图表中的动画帧。
  • animation_group:animation_group参数接受一个值,需要在图表动画中进行分组。
  • range_y:range_y参数意味着动画完成的速度。

高级动态条形图Plotly

还可以添加其他参数,使图表看起来更加丰富和吸引人。下面是如何实现这一点的示例。

fig = px.histogram(df, x="continent", y="pop", color="continent", animation_frame="year", animation_group="country", range_y=[0,4000000000], color_discrete_sequence=px.colors.qualitative.T10) fig.update_yaxes(visible=False) fig.update_layout(margin=dict(t=70, b=0, l=50, r=40), width=900, height=450, xaxis_title=' ', plot_bgcolor='#333', paper_bgcolor='#333', title_font=dict(size=25, color='#a5a7ab', family="Lato, sans-serif"), font=dict(color='#8a8d93'), legend=dict(orientation="h", yanchor="bottom", y=1, xanchor="right", x=0.8)) fig.show()

颜色和背景参数说明:

  • color_discrete_sequence:color_discrete_sequence参数显示color参数值的不同颜色。有多种方式可以设计图表,例如使用顺序、发散或定性的颜色模式。在本文中,使用定性的颜色模式。
  • plot_bgcolor & paper_bgcolor:plot_bgcolor和paper_bgcolor参数调整图表的背景颜色。
  • update_yaxes:update_yaxes参数可以改变y轴。例如,可以隐藏轴或格式化它。
  • update_xaxes:update_xaxes参数可以改变x轴。例如,可以隐藏轴或格式化它。
  • height:height参数接受一个值,该值需要出现在图表的高度上。
  • width:width参数接受一个值,该值需要出现在图表的宽度上。
  • margin:margin参数接受一个值,该值将调整图表在容器中的左、右、上、下位置。
  • font:font参数帮助编辑图表中的字体属性,如字体、颜色、大小等。使用深色背景时,可以调整字体颜色,使图表中的各种颜色更加协调。
  • title_font:title_font参数帮助编辑图表中的标题字体属性,如字体、颜色、大小等。正确使用标题字体属性通常能在20秒内吸引观众的注意力。
  • legend:legend参数保持图表上图例的格式。有时根据图表的需要,也可以不使用图例。
  • 阅读本文后,可以轻松地在Plotly中制作动态条形图,它非常用户友好。
  • 此外,制作一个具有视觉吸引力的条形图来解释用例的目的是必要的,甚至学会了如何在Plotly中制作它。
  • 带有动画的条形图使用户能够更加专注于报告,在文章的上一部分看到了这一点。
  • 还学习了如何使用大量的参数来增强图表,使它们看起来像是在Tableau软件中制作的,并且看起来像信息图表
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485