python图表基础知识_当python遇上echarts(一)了解基本知识

本文介绍了pyecharts,它是Python中的Echarts接口,方便开发者进行数据可视化。文章通过实例展示了如何用pyecharts绘制柱状图和折线图,强调了配置项options的重要性,并提供了常用配置项如TitleOpts、LegendOpts等的使用示例。

pyecharts

一、简介

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

简单来说,pyecharts就是echarts的python接口,方便python用户开发。当然,精通Html,JavaScript的同学,可以直接使用echarts。

二、优势

python中,有很多的可视化模块,比如matplotlib,seaborn,plotly,pyecharts。pyecharts如何从中脱颖而出呢。先看张图片

387b78cb979bdf7ec20a59666efa2d20.png

很多很多精美的模板和示例,做起图来有方便又简单。

三、示例

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

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')

c1fb0fbf92ea299584939e2080fa4eb7.png

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

四、基本思路

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

创建对象

为对象添加参数和数据

生成html文件或者在jyputer_notebook中显示或者生成图片。

tips:jyputer_notebook真是个好东西,不仅支持markdown,而且能直接运行代码,展示运行效果,给看的人一种交互式的体验,快要毕业的兄弟们,用这个东西写论文,岂不是爽歪歪。

看看图片:

e75dc81d2aabe0bb3feaab60236dd1dc.png

五、绘制柱状图

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()

c00ad93fe79b16e2c9d39b4bbbb3cb7b.png

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

配置项options

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

InitOpts:初始化配置项

在创建对象时

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

line = Line(init_opts = opts.InitOpts(

#图表宽度

width = '800px',

#图表高度

height = '600px',

#网页标题

page_title = '我的网页我做主',

#图表主题,有好多种主题

#LIGHT,DARK,CHALK,INFOGRAPHIC,ESSOS,MACARONS,PURPLE_PASSION,ROMA,ROMANTIC,SHINE,VINTAGE,WALDEN,WESTEROS

theme = ThemeType.ROMANTIC ,

#背景颜色,英文单词

bg_color = 'purple',

#远程 js host,如不设置默认为 https://assets.pyecharts.org/assets/"

#如果想要在不联网的情况下展示图表,需将echarts.min.js下载至本地。然后传入其路径

js_host = 'js/',

#

))

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

标题配置项 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

4d6e50e26ed2be99ee13abacc1c9c8e6.png

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_= [])

)

)

Tips

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

官方网站

标签:pyecharts,title,python,基本知识,options,参数,bar,echarts,opts

来源: https://blog.youkuaiyun.com/leidawangzi/article/details/113809947

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值