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
链接:https://www.prizen.cn/index.php/2024/03/10/pyechartsnk/
来源:流念渗透笔记
文章版权归作者所有,未经允许请勿转载。