pyecharts基础笔记

一、pyecharts 简述

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

官网https://pyecharts.org/#/

1.pyecharts的特点

 1.与Echarts结合
 2.与Web端结合
 3.超强交互性
 4.国人开发的项目

2.安装 pyecharts

Windows系统:
   pip install pyecharts_jupyter_installer
   pip install pyecharts_snapshot
   pip install pyecharts
Mac系统:
   pip3 install pyecharts_jupyter_installer
   pip3 install pyecharts_snapshot
   pip3 install pyecharts  


3.图表绘制流程

1.chart_name=图表类型()        #初始化具体类型图表
2.chart_name.add_xaxis()       #添加横坐标名称
3.chart_name.add_yaxis()       #添加纵坐标数据
4.chart_name.render()         #生成.html文件

二、pyechart的使用

1.新建一个Python文件

导入pyecharts模块及随机虚构数据模块

#创建虚构的随机数据(以便于练习绘图,如自有数据 可不创建):
from pyecharts.faker import Faker

#导入主题类型包
from pyecharts.globals import ThemeType
#生成图表的配置
from pyecharts import options as opts
#导入图表类型  这里是Bar图(柱状图)
from pyecharts.charts import Bar

2.绘制Bar图(柱状图/条形图)

#创建一个bar图
bar= Bar()
#添加数据
#add_xaxis(X轴标签列表)
bar.add_xaxis(['衬衫','毛衣','领带','裤子','风衣','高跟鞋','袜子'])
#add_yaxis(名称,Y轴数据列表)
bar.add_yaxis("商家A",[82,84,125,23,45,130,117])
#生0成HTML文件(图表在HTML上)
bar.render_notebook()

12efc7160ad62e89bb02ca355c858e77.png

运行Python程序后会在同目录下生成一个render.html文件

注意数据必须是python的list/列表类型,如果是numpy的数组需要转换成list

ff6e5b6da165a48a22eee2a689d3cc6b.png

#添加虚构数据语法

bar.add_xaxis(Faker.choose())
bar.add_yaxis('商家A',Faker.values())

(1).添加图标大标题,副标题

set_global_opts
例如:

bar.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例",subtitle="我是副标题"))

#添加标题和副标题
bar.set_global_opts(title_opts=opts.TitleOpts(
    title="Bar-基本示例",subtitle="我是副标题"))
bar.render_notebook()

aac34c42139f24296bbaf93294836c4d.png

(2).切换主题颜色

  1. 导入主题类型包 from pyecharts.globals import ThemeType
  2. 添加主题类型:bar = Bar(init_opts=opts.InitOpts(theme=ThemeType.PURPLE_PASSION))
#在Bar()函数中添加主题类型:此处为紫色主题,需在导入数据前加入
bar = Bar(init_opts=opts.InitOpts(theme=ThemeType.PURPLE_PASSION))
#添加数据
#add_xaxis(X轴标签列表)
bar.add_xaxis(['衬衫','毛衣','领带','裤子','风衣','高跟鞋','袜子'])
#add_yaxis(名称,Y轴数据列表)
bar.add_yaxis("商家A",[82,84,125,23,45,130,117])
#添加标题和副标题
bar.set_global_opts(title_opts=opts.TitleOpts(
    title="Bar-基本示例",subtitle="我是副标题"))
bar.render_notebook()

7f9dff6c834eaf0e4e0f365b1cffb4a9.png

(3)更改图片尺寸

wight:修改图片宽度
height:修改图片高度
只需将参数wight和height加入到Bar()函数里面,格式如下:
bar=Bar(init_opts=opts.InitOpts(
theme=ThemeType.PURPLE_PASSION,
width="1920px",
height='1080px'))
#在Bar()函数中设置主题类型,尺寸
bar = Bar(init_opts=opts.InitOpts(
    theme=ThemeType.PURPLE_PASSION,
width="725px",
height='689px'))
#添加数据
#add_xaxis(X轴标签列表)
bar.add_xaxis(['衬衫','毛衣','领带','裤子','风衣','高跟鞋','袜子'])
#add_yaxis(名称,Y轴数据列表)
bar.add_yaxis("商家A",[82,84,125,23,45,130,117])
#添加标题和副标题
bar.set_global_opts(title_opts=opts.TitleOpts(
    title="Bar-基本示例",subtitle="我是副标题"))
bar.render_notebook()

626ee6061441085787e9bbf5f9c73a3d.png

(4).旋转X轴标签

rotate参数:rotate=旋转角度(-90~90之间)
例如:
bar.set_global_opts(
  title_opts=opts.TitleOpts(
    title="Bar-基本示例",
    subtitle="我是副标题"
  ),
  xaxis_opts=opts.AxisOpts(
  axislabel_opts.LabelOpts(rotate=30)
  )
)
bar = Bar(init_opts=opts.InitOpts(
    theme=ThemeType.PURPLE_PASSION,
width="725px",
height='689px'))
bar.add_xaxis(['衬衫','毛衣','领带','裤子','风衣','高跟鞋','袜子'])
bar.add_yaxis("商家A",[82,84,125,23,45,130,117],stack='stack1')
bar.set_global_opts(title_opts=opts.TitleOpts(
    title="Bar-憨娃",
    subtitle="我是副标题"),
    xaxis_opts=opts.AxisOpts(
  axislabel_opts=opts.LabelOpts(rotate=45)))
bar.render_notebook()

93b05dfa95a00354dce5c34b9a636f6a.png

(5)柱状图堆叠

在上面的y轴函数中加入stack参数
示例格式:
bar.add_yaxis('分类1',[数据],stack='stack1')
bar.add_yaxis('分类2',[数据],stack='stack1')
bar.add_yaxis('分类3',[数据],stack='stack2')
bar.add_yaxis('分类4',[数据],stack='stack2')

    stack='stack1',表示两组数据堆叠在stack1(名字可改)这一组里
    stack='stack2',表示两组数据堆叠在
    ack2(名字可改)这一组里
    bar.add_yaxis('商家B',[66,84,97,130,150,12,130],stack='stack1')
    bar.render_notebook()

c177b0124248c00c30fdf84127ebbacd.png

#两两堆叠
bar.add_yaxis('商家C',[45,54,101,67,45,122,48],stack='stack2')
bar.add_yaxis('商家D',[65,54,74,78,99,54,29],stack='stack2')
bar.render_notebook()

40608c8f5e4238ad91effd58e980b309.png

(6).柱状图标记点

bar.set_series_opts(
   label_opts=opts.LabelOpts(is_show=False),     ##此行为是否显示数组,is_show=False表示不显示数字
   markpoint_opts=opts.MarkPointOpts(
    data=[
    opts.MarkPointItem(type_='max',name='最大值'),
    opts.MarkPointItem(type_='min',name='最大值'),
    opts.MarkPointItem(type_='average',name='平均值'),
    ]
   ),
)
 bar.set_series_opts(
    label_opts=opts.LabelOpts(is_show=False),#此行为是否显示数组,is_show=True表示显示数字
   markpoint_opts=opts.MarkPointOpts(
    data=[
    opts.MarkPointItem(type_='max',name='最大值'),
    opts.MarkPointItem(type_='min',name='最大值'),
    opts.MarkPointItem(type_='average',name='平均值'),
    ]
   ),
)
bar.render_notebook()

597801e05fad480f90113c72d5c1dc62.png

(7).柱状图标记线

    bar.set_series_opts(
    label_opts=opts.LabelOpts(is_show=False),     ##此行为是否显示数组,is_show=False表示不显示数字
     markline_opts=opts.MarkPointOpts(           #线就是吧point换成line
    data=[
    opts.MarkPointItem(type_='max',name='最大值'),
    opts.MarkPointItem(type_='min',name='最大值'),
    opts.MarkPointItem(type_='average',name='平均值'),
    ]
   ),
)
   bar.set_series_opts(
    label_opts=opts.LabelOpts(is_show=True),     ##此行为是否显示数组,is_show=False表示不显示数字
     markline_opts=opts.MarkPointOpts(           #线就是吧point换成line
    data=[
    opts.MarkPointItem(type_='average',name='平均值'),
    ]
   ),
)
bar.render_notebook()

90bde9457223c78ec702fbd51e8ef308.png

(8).柱状图X轴和Y轴交换

  格式:

bar.reversal_axis()

#X轴和Y轴交换
bar.reversal_axis()
bar.render_notebook()

b6cd1be4df3ddd71b00580ad1864be10.png

柱状图带窗口滑块效果

在set_global_opts中添加参数datazoom_opts=[opts.DataZoomOpts()]:
bar.set.global_opts(
  title_opts=opts.TitleOpts(
    title="Bar-基本示例",
    subtitle="我是副标题"
  ),
  datazoom_opts=[opts.DataZoomOpts()]
)



```python
bar = Bar(init_opts=opts.InitOpts(
    theme=ThemeType.PURPLE_PASSION,
width="725px",
height='689px'))
bar.add_xaxis(['衬衫','毛衣','领带','裤子','风衣','高跟鞋','袜子'])
bar.add_yaxis("商家A",[82,84,125,23,45,130,117],stack='stack1')
bar.set_global_opts(title_opts=opts.TitleOpts(
    title="Bar-憨娃",
    subtitle="我是副标题"),
      datazoom_opts=[opts.DataZoomOpts()])  #添加滑块效果
bar.render_notebook()

bedf994039f47f41d292db380f57411c.png

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TryBest_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值