pyecharts模块

pyecharts模块

如果想要做出数据可视化效果图,可以借助pyecharts模块来完成

概况:

Echarts是个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到众多开发者的认可,而python是门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时pyecharts诞生了。

官网上有pyecharts画廊,上面有各种各样的可视化图表

折线图

shi#导包,导入Line功能构建折线图对象
from pyecharts.charts import Line
#得到折线图对象
line=Line()
#添加x轴数据
line.add_xaxis(["中国","美国","英国"])
#添加y轴数据
line.add_yaxis("GDP",[30,20,10])
#生成图表
line.render()

全局配置

set_global_opts方法

使用模块之前都需要导包

title_opts标题
legend_opts图例
toolbox_opts工具箱

基础柱状图

通过bar构建基础柱状图

反转:

bar.reversal_axis()

总结

1.通过Bar()构建一个柱状图对象

2.和折线图一样,通过add_xaxis()和add_yaxis()添加x轴和y轴数据

3.通过柱状图对象的:reversal_axis(),反转x和y轴

4.通过label_opts=LabelOpts(position="right")设置数值标签在右侧显示

基础时间线柱状图

Timeline()—时间线

柱状图描述的是分类数据,回答的是每一个分类中【有多少?】这个问题,这是柱状图的主要特点,同时柱状图很难动态的描述一个趋势性的数据,这里pyecharts为我们提供了一种解决方案——时间线

如果说一个Bar, Line对象是一张图表的话,时间线就是创建一个一维的x轴,轴上的每个点就是一个图表对象。

划到点一时是一个柱状图,点二又是一个

from pyecharts.charts import Bar,Timeline
from pyecharts.options import LabelOpts

bar1=Bar()
bar1.add_xaxis(["中国","美国","英国"])
bar1.add_yaxis("GDP",[30,20,10],label_opts=LabelOpts(position="right"))
bar1.reversal_axis()

bar2=Bar()
bar2.add_xaxis(["中国","美国","英国"])
bar2.add_yaxis("GDP",[50,30,20],label_opts=LabelOpts(position="right"))
bar2.reversal_axis()

bar3=Bar()
bar3.add_xaxis(["中国","美国","英国"])
bar3.add_yaxis("GDP",[70,90,60],label_opts=LabelOpts(position="right"))
bar3.reversal_axis()

#创建时间线对象
timeline=Timeline()
#timeline对象添加bar柱状图
timeline.add(bar1,"点1")
timeline.add(bar2,"点2")
timeline.add(bar3,"点3")
#通过时间线绘图
timeline.render("基础柱状图.html")

设置自动播放

timeline.add_schema(
  play_interval=1000,#自动播放的时间间隔,单位为毫秒
  is_timeline_show=True, #是否在自动播放的时候,显示时间线
  is_auto_play=True, #是否自动播放
  is_loop_play=True   #是否循环播放
)

时间线主题设置

编号 颜色 备注
ThemeType.WHITE 红蓝 默认颜色等同于bar=Bar
ThemeType.LIGHT 蓝黄粉 高亮颜色
ThemeType.DARK 红蓝 黑色背景
ThemeType.CHALK 红蓝绿 黑色背景
ThemeType.ESSOS 红黄 暖色系
ThemeType.INFOGRAPHIC 红蓝黄 偏亮
ThemeType.MACARONS 紫绿
ThemeType.PURPLE_PASSION 粉紫 灰色背景
ThemeType.ROMA 红黑灰 偏暗
ThemeType.ROMANTIC 红粉蓝 淡黄色背景
from pyecharts.globals import Themetype#导入模块
#创建时间线对象
timeline=Timeline(
  {"theme":ThemeType.LIGHT}
)

完善后的

from pyecharts.charts import Bar,Timeline
from pyecharts.options import LabelOpts
from pyecharts.globals import ThemeType

bar1=Bar()
bar1.add_xaxis(["中国","美国","英国"])
bar1.add_yaxis("GDP",[30,20,10],label_opts=LabelOpts(position="right"))
bar1.reversal_axis()

bar2=Bar()
bar2.add_xaxis(["中国","美国","英国"])
bar2.add_yaxis("GDP",[50,30,20],label_opts=LabelOpts(position="right"))
bar2.reversal_axis()

bar3=Bar()
bar3.add_xaxis(["中国","美国","英国"])
bar3.add_yaxis("GDP",[70,90,60],label_opts=LabelOpts(position="right"))
bar3.reversal_axis()

#创建时间线对象
timeline=Timeline({"theme":ThemeType.PURPLE_PASSION})
#timeline对象添加bar柱状图
timeline.add(bar1,"点1")
timeline.add(bar2,"点2")
timeline.add(bar3,"点3")
#自动播放设置
timeline.add_schema(
    play_interval=1000,
    is_timeline_show=True,
    is_auto_play=True,
    is_loop_play=True
)
#主题设置,在构建时间线对象时传入对象theme就可以了,记得导包

#通过时间线绘图
timeline.render("基础柱状图.html")

GDP动态柱状图的设置

列表的sort方法

sorted函数,可以对数据容器进行排序,但是无法指定排序规则

sort方法

列表.sort(key=选择排序依据的函数,reverse=True|False)

参数key,是要求传入一个函数,表示将列表的每一个元素都传入函数中,返回排序的依据

参数reverse,是否反转排序结果,True表示降序排序,False表示升序排序
#准备列表
my_list=[["a",33],["b",55],["c",11]]

#排序——基于带名函数
def choose_sort_key(element):
  return element[1]
  
my_list.sort(key=choose_sort_key,reverse=True)

#排序——基于lambda匿名函数
my_list.sort(key=lambda element: element[1],reverse=True)

print(my_list)

版权声明:
作者:admin
链接:http://www.prizen.cn/index.php/2024/03/10/pyechartsnk/
来源:流念渗透笔记
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>