首页 分享 当python遇上echarts(一)了解基本知识

当python遇上echarts(一)了解基本知识

来源:花匠小妙招 时间:2025-04-23 18:56

Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。
简单来说,pyecharts就是echarts的python接口,方便python用户开发。当然,精通Html,JavaScript的同学,可以直接使用echarts。

python中,有很多的可视化模块,比如matplotlib,seaborn,plotly,pyecharts。pyecharts如何从中脱颖而出呢。先看张图片
在这里插入图片描述
很多很多精美的模板和示例,做起图来有方便又简单。

到底有多简单呢?来绘制个柱状图

from pyecharts.charts import Bar from pyecharts import options as opts from pyecharts.options.global_options import AxisOpts x = ['餐饮','娱乐','交通','保养','衣服'] y1= [1000,500,100,5000,5000] y2= [2000,1000,100,20,30] bar = Bar() bar.add_xaxis(xaxis_data = x) #第一个参数是图例的名称 bar.add_yaxis(series_name = 'zhang某人',y_axis = y1) bar.add_yaxis(series_name = 'fan某人',y_axis = y2) #添加options bar.set_global_opts(title_opts=opts.TitleOpts(title = 'zhang某人和fan某人一月开支')) #生成HTML文件 bar.render('我的第一个echarts图.html')

在这里插入图片描述

相信比你想象的要简单不少吧。接下来,一起学习这个神奇的module

不管绘制什么图,步骤是差不多的

创建对象 为对象添加参数和数据 生成html文件或者在jyputer_notebook中显示或者生成图片。
tips:jyputer_notebook真是个好东西,不仅支持markdown,而且能直接运行代码,展示运行效果,给看的人一种交互式的体验,快要毕业的兄弟们,用这个东西写论文,岂不是爽歪歪。
看看图片:
在这里插入图片描述 1、前期准备

安装pyecharts:pip install pyecharts
清华镜像:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pyecharts

代码实现

from pyecharts import options as opts #准备绘制饼图需要的数据,需要x轴和y轴的数据,数据格式为列表 x = ['餐饮','娱乐','交通','保养','衣服'] y= [1000,500,2000,1000,1000] #创建对象,可以加一些参数,下面这个参数的意思是图的大小,宽800个像素,高600个像素 bar = Bar(init_opts = opts.InitOpts(width = '800px',height = '600px')) #添加数据,注意添加y轴数据的时候,必须设置series_name参数,表示图例的名称 bar.add_xaxis(xaxis_data = x) bar.add_yaxis(series_name = 'zhang某人',y_axis = y) #添加参数 bar.set_global_opts(title_opts = opts.TitleOpts(title = 'zhang某人的幸福生活')) #生成html文件,这里是相对路径,文件保存在代码所在目录下 bar.render('第一个bar图.html')

可以说,整个代码是非常的简单,就是那几个步骤,创建对象,添加数据,设置参数,生成文件。
在绘制不同的图的过程中,其实,也就其中一个步骤有些不同,接下来,再来绘制一个折线图,看看我们该关注的重点是那一步,然后再重点学习。

#折线图是Line from pyecharts.charts import Line #引入options,为图表添加参数 from pyecharts import options as opts #折线图的数据类型跟柱状图一模一样 x = ['餐饮','娱乐','交通','保养','衣服'] y= [1000,500,2000,1000,1000] #创建对象,可以加一些参数,下面这个参数的意思是图的大小,宽800个像素,高600个像素 line = Line(init_opts = opts.InitOpts(width = '800px',height = '600px')) #添加数据,注意添加y轴数据的时候,必须设置series_name参数,表示图例的名称 line.add_xaxis(xaxis_data = x) line.add_yaxis(series_name = 'zhang某人',y_axis = y) #添加参数,title_opts设置图的标题 line.set_global_opts(title_opts = opts.TitleOpts(title = 'zhang某人的幸福生活')) line.render_notebook()

在这里插入图片描述
通过比较,其实,绘制图的关键在options,也就是添加图表的参数,比如设置图的大小,标题,图例,文字倾斜,区域缩放,坐标轴互换等。下面,总结一下常用的options。

官方文档都这么说:使用 options 配置项,在 pyecharts 中,一切皆 Options!!!

InitOpts:初始化配置项

在创建对象时

bar = Bar(init_opts = opts.InitOpts())

line = Line(init_opts = opts.InitOpts( #图表宽度 width = '800px', #图表高度 height = '600px', #网页标题 page_title = '我的网页我做主', #图表主题,使用时需先导入ThemeType模块。from pyecharts.globals import ThemeType#LIGHT,DARK,CHALK,INFOGRAPHIC,ESSOS,MACARONS,PURPLE_PASSION,ROMA#ROMANTIC,SHINE,VINTAGE,WALDEN,WESTEROS theme = ThemeType.ROMANTIC , #背景颜色,可以用颜色的单词,可以用16进制的颜色码(浅粉色,#FFB6C1),也可以用RGB颜色表示rgb(255,182,193) bg_color = 'purple', #远程 js host,如不设置默认为 https: #如果想要在不联网的情况下展示图表,需将echarts.min.js下载至本地。然后传入其路径(传入所在文件夹的路径即可),绘制更其他图时可能需要的js文件不止一个,那么要把所有需要的js文件都放在传入路径的文件夹中。 js_host = 'js/', ))

这些都是可选参数,根据需要自己添加

拓展:查看并下载需要的js文件。
在开发者选项的network中找到请求的资源,然后右键将其下载到本地,再添加js_host参数,之后就可以离线使用图表了。
在这里插入图片描述

标题配置项 TitleOpts

title_opts设置在全局变量中

line.set_global_opts(title_opts = opts.TitleOpts('填这'))

title_opts = opts.TitleOpts( title = 'zhang某人的幸福生活', #跳转到当前目录下的另一文件,参数为文件相对路径 title_link = '', #可选参数有self和blank,默认是blank,意思是新窗口跳转到title_link指定的文件,self表示本窗口打开文件 title_target = 'self', #subtitle是副标题,设置的方法跟title一样 subtitle = '今天不上班', subtitle_link='', subtitle_target='', #title组件在容器中的位置 # title 组件离容器左侧的距离。 # left 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比, # 也可以是 'left', 'center', 'right'。 # 如果 left 的值为'left', 'center', 'right',组件会根据相应的位置自动对齐。 pos_left = '2%', pos_top = '10%', #同样,也可以设置pos_right,pos_bottom #主副标题之间的间距,参数为整数 item_gap= 100, #主副标题字样, # font_style可选:'normal','italic','oblique' title_textstyle_opts=opts.TextStyleOpts(color='blue',font_style='oblique',font_size=30) ) 区域缩放配置项 DataZoomOpts

支持区域缩放

datazoom_opts = opts.DataZoomOpts( #是否显示组件 is_show=True, #组件类型,可选slider和inside,注意type后面有小下划线 type_ = 'slider', #组件的开始和结束范围 range_start = 20, range_end = 80, #布局方式,横向还是竖向 orient = 'vertical', #设置组件位置,同样也是上下左右都可以设置 pos_right = '2%' ) 图例配置项 LegendOpts

bar.set_global_opts(legend_opts = opts.LegendOpts())

legend_opts = opts.LegendOpts( # 'plain':普通图例。 'scroll':可滚动翻页的图例。当图例数量较多时可以使用。 type_='plain', #是否显示组件 is_show = True, #图例的对齐方式,可选auto,left,right align = 'left', #位置,上下左右皆可设置 pos_top = '20%', #横向纵向,horizontal和vertical orient = 'vertical', #图例的icon,可选'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none' legend_icon = 'pin' ) 提示框配置项 TooltipOpts

tooltip_opts = opts.TooltipOpts( is_show = True, # 触发类型。可选: # 'item': 数据项图形触发,主要在散点图,饼图等无类目轴的图表中使用。 # 'axis': 坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用。 # 'none': 什么都不触发 trigger = 'axis', # 提示框触发的条件,可选: # 'mousemove': 鼠标移动时触发。 # 'click': 鼠标点击时触发。 # 'mousemove|click': 同时鼠标移动和点击时触发。 # 'none': 不在 'mousemove' 或 'click' 时触发, trigger_on = 'mousemove/click', # 指示器类型。可选 # 'line':直线指示器 # 'shadow':阴影指示器 # 'none':无指示器 # 'cross':十字准星指示器。其实是种简写,表示启用两个正交的轴的 axisPointer。 axis_pointer_type = 'shadow' ) 坐标轴配置项 AxisOpts

x轴也是一样配置

yaxis_opts = opts.AxisOpts( # 坐标轴类型。可选: # 'value': 数值轴,适用于连续数据。 # 'category': 类目轴,适用于离散的类目数据,为该类型时必须通过 data 设置类目数据。 # 'time': 时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同, # 例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度。 # 'log' 对数轴。适用于对数数据 type_ = 'value', #是否显示坐标轴 is_show = True, #是否反向坐标轴 is_inverse = True, #坐标轴最小刻度值, min_ = 400, #最大刻度值 max_ = 1600 ) 工具箱配置项 ToolBoxOpts

在这里插入图片描述

toolbox_opts = opts.ToolboxOpts( is_show = True, orient = 'vertical', pos_right ='10%', feature = opts.ToolBoxFeatureOpts( #保存图片按钮,False为不显示 save_as_image=opts.ToolBoxFeatureSaveAsImageOpts(is_show = True), #还原项 restore = opts.ToolBoxFeatureRestoreOpts(is_show=False), #数据视图工具 data_view=opts.ToolBoxFeatureDataViewOpts(is_show = False), #数据区域缩放 data_zoom=opts.ToolBoxFeatureDataZoomOpts(is_show=False), #动态类型切换 magic_type=opts.ToolBoxFeatureMagicTypeOpts(is_show=False), # 选框组件的控制按钮,这个参数比较特殊,没有is_show参数,只能通过列表选择需要添加的按钮,一个也不要的话,直接传空列表 #rect','polygon','lineX','lineY','keep','clear' brush = opts.ToolBoxFeatureBrushOpts(type_= []) ) )

pyecharts 所有方法均支持链式调用。习惯链式调用的同学可以试一下

官方学习网站

下一节,一起绘制简单图表
当python遇上echarts (二)绘制基本图表

相关知识

Python绘制玫瑰花:编程与艺术的交融
Apache ECharts
基于Python的全国主要城市天气数据可视化大屏系统
echarts插件,将海量数据转化为美丽的数据图表
当音乐遇上电影(一)
基于Echarts的鸢尾花数据可视化
Axure 基于Echarts,引入动态图表(折线图、柱状图、饼状图等)
python pyecharts 折线图
Echarts 图表插件学习(2)
当刺绣遇上干花

网址: 当python遇上echarts(一)了解基本知识 https://www.huajiangbk.com/newsview1786895.html

所属分类:花卉
上一篇: Flowershow 开源项目使
下一篇: linux文件后缀符号代表的类型

推荐分享