十四.PyEcharts基础学习

目录

1-PyEcharts介绍

优点:

安装:

官方文档:

2-PyEcharts快速入门

2.1 第一个图表绘制

2.2 链式调用

2.3 opeions配置项

2.4 渲染图片文件

2.5 使用主题

3-PyEcharts配置项

3.1 初始化配置项InitOpts

InitOpts

3.2 全局配置项set_global_opts

标题配置TitleOpts

图例配置LegendOpts

常见图标:

工具箱配置ToolboxOpts

视觉映射配置VisualMapOpts

提示框配置:TooltipOpts

区域缩放配置:DataZoomOpts



1-PyEcharts介绍

Echarts是一个由百度开源数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。

而Python 是一门富有表达力的语言,很适合用于数据处理。

当数据分析遇上数据可视化时,pyecharts诞生了。

Echarts是用JS来写的,而我们使用pyecharts则可以使用Python来调用里面的API

优点:

1、简洁的 API 设计,使用如丝滑般流畅,支持链式调用.

2、囊括了 30+ 种常见图表,应有尽有 .

3、支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab.

4、可轻松集成至 Flask,Django 等主流 Web 框架.

5、高度灵活的配置项,可轻松搭配出精美的图表.

6、详细的文档和示例,帮助开发者更快的上手项目.

7、多达 400+ 地图文件以及原生的百度地图,为地理数据可视化提供强有力的支持.

安装:

pip install pyecharts==1.9.1

官方文档:

pyecharts - A Python Echarts Plotting Library built with love.


2-PyEcharts快速入门

pyecharts中可以绘制的图有很多,这里我们先来总体的了解一下他的使用风格,和调用的方式。有宏观的理解后,再具体学习具体图形的绘制。

2.1 第一个图表绘制

from pyecharts.charts import Bar

from pyecharts.charts import Bar
​
# Bar绘制柱状图
bar = Bar()
bar.add_xaxis(["苹果","华为","联想","三星","小米"])
bar.add_yaxis("淘宝",[12000,8000,6000,14000,4000])
bar.add_yaxis("京东",[13000,7500,4000,12000,6000])
​
# render 默认渲染成html
bar.render()    #'可传文件名--保存'
# 在notebook中展示
bar.render_notebook()

2.2 链式调用

--上面代码的简化版.更方便.

bar = (
    Bar()   #创建对象.
    #注意:这里是  点
    .add_xaxis(["苹果","华为","联想","三星","小米"])
    .add_yaxis("淘宝",[12000,8000,6000,14000,4000])
    .add_yaxis("京东",[13000,7500,4000,12000,6000])
)
bar.render_notebook()

2.3 opeions配置项

全局/局部/初始化

from pyecharts import options as opts
from pyecharts import options as opts
​
bar = (
    Bar()
    .add_xaxis(["苹果","华为","联想","三星","小米"])
    .add_yaxis("淘宝",[12000,8000,6000,14000,4000])
    .add_yaxis("京东",[13000,7500,4000,12000,6000])
#            set_global_opts:全局配置  title_opts:标题
    .set_global_opts(title_opts=opts.TitleOpts(title="主标题1",subtitle="副标题1"))
#     .set_global_opts(title_opts={"text":"主标题2","subtext":"副标题2"})
​
)
bar.render_notebook()

2.4 渲染图片文件

--正常保存下来的图片(png/jpg)的背景是没有进行渲染的.

from pyecharts.render import make_snapshot
# pip install snapshot_selenium
from snapshot_selenium import snapshot
#这里要用到自动化,浏览器自动化别忘了~~
bar = (
    Bar()
    .add_xaxis(["苹果","华为","联想","三星","小米"])
    .add_yaxis("淘宝",[12000,8000,6000,14000,4000])
    .add_yaxis("京东",[13000,7500,4000,12000,6000])
​
)
make_snapshot(snapshot,bar.render(),"bar.png")

2.5 使用主题

  • 默认主题类型为WHITE

  • 内置主题类型包括LIGHT、DARK、CHALK、ESSOS、INFOGRAPHIC、MACARONS、PURPLE_PASSION、ROMA、ROMANTIC、SHINE、VINTAGE、WALDEN、WESTEROS、WONDERLAND

  • 可参考官方文档:pyecharts - A Python Echarts Plotting Library built with love.

from pyecharts.globals import ThemeType
​
bar = (
    Bar(
        #对象里面设置主题(配置项)
        init_opts=opts.InitOpts(theme=ThemeType.DARK)
    )
    .add_xaxis(["苹果","华为","联想","三星","小米"])
    .add_yaxis("淘宝",[12000,8000,6000,14000,4000])
    .add_yaxis("京东",[13000,7500,4000,12000,6000])
​
)
bar.render_notebook()

3-PyEcharts配置项

3.1 初始化配置项InitOpts

  • InitOpts
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType, RenderType
​
# 生成同一属性的七个值
Faker.choose()      #Faker ---> 类似于random   #快速创建,方便啊.
# 生成随机的七组数
Faker.values()
​
bar = (
    Bar(
        # init_opts:初始化配置项
        init_opts=opts.InitOpts(
            # 画布大小 单位像素
            width="700px",
            height="500px",
            renderer=RenderType.CANVAS,     #渲染风格
            page_title="商品价格对比",
            theme=ThemeType.WESTEROS,   #主题
            bg_color="white",          #背景颜色
        )
    )
    .add_xaxis(Faker.choose())
    .add_yaxis("淘宝",Faker.values())
    .add_yaxis("天猫",Faker.values())
    .add_yaxis("京东",Faker.values())
)
bar.render_notebook()

3.2 全局配置项set_global_opts

标题配置TitleOpts

bar = (
    Bar(
        # init_opts:初始化配置项
        init_opts=opts.InitOpts(
            # 画布大小 单位像素
            width="700px",
            height="500px",
        )
    )
    .add_xaxis(Faker.choose())
    .add_yaxis("淘宝",Faker.values())
    .add_yaxis("天猫",Faker.values())
    .add_yaxis("京东",Faker.values())
    .set_global_opts(
        # TitleOpts:标题
        title_opts=opts.TitleOpts(
            title="价格对比柱状图",
            title_link="https://www.taobao.com",  # 点击主标题的跳转链接!!!
            
            #在哪个窗口打开.
            title_target="blank",  # blank:新窗口打开   self:当前窗口打开
            #主要是主标题的跳转.
            # subtitle="副标题",
            # subtitle_link="https://www.taobao.com",
            # subtitle_target="blank",
            
            # 位置 靠左 
            pos_left="20px",
            pos_top="30px",
            padding=5,   # 内边距
            item_gap=5, # 主副标题之间的距离
        )
    
        )
)
bar.render_notebook()

图例配置LegendOpts

常见图标:

circle(圆),rect(矩形),roundRect(圆弧矩形),triangle(三角形),diamond(棱形) ,pin(坐标) arrow(位置)

bar = (
    Bar(
        # init_opts:初始化配置项
        init_opts=opts.InitOpts(
            # 画布大小 单位像素
            width="700px",
            height="500px",
        )
    )
    .add_xaxis(Faker.choose())
    .add_yaxis("淘宝",Faker.values())
    .add_yaxis("天猫",Faker.values())
    .add_yaxis("京东",Faker.values())
    .set_global_opts(
        # LegendOpts 图例配置项
         legend_opts=opts.LegendOpts(
             type_="plain",  # 图例类型  plain普通图例    scroll:滚动翻页图例(图例很多)
             is_show=True,   # 是否显示图例
             pos_left="90%", # 图例的位置
             orient="veritica",  # veritica(垂直)或者horizontal(水平)
             item_gap=5,      # 图例之间的距离
             item_width=30,   # 图例的宽度
             item_height=10,   # 图例的高度
             # pyecharts常见图标 
             legend_icon="triangle"
         )
        )
)
bar.render_notebook()

工具箱配置ToolboxOpts

bar = (
    Bar(
        # init_opts:初始化配置项
        init_opts=opts.InitOpts(
            # 画布大小 单位像素
            width="700px",
            height="500px",
        )
    )
    .add_xaxis(Faker.choose())
    .add_yaxis("淘宝",Faker.values())
    .add_yaxis("天猫",Faker.values())
    .add_yaxis("京东",Faker.values())
    .set_global_opts(
        # TooltipOpts:提示框配置项
        toolbox_opts=opts.ToolboxOpts(
        is_show=True,
        pos_right="10"
        )
    )
)
bar.render_notebook()

视觉映射配置VisualMapOpts

bar = (
    Bar(
        # init_opts:初始化配置项
        init_opts=opts.InitOpts(
            # 画布大小 单位像素
            width="700px",
            height="500px",
        )
    )
    .add_xaxis(Faker.choose())
    .add_yaxis("淘宝",Faker.values())
    .add_yaxis("天猫",Faker.values())
    .add_yaxis("京东",Faker.values())
    .set_global_opts(
        # VisualMapOpts:视觉映射
        visualmap_opts=opts.VisualMapOpts(
            is_show=True,  # 显示映射条
            type_="color", # color颜色 size大小
            min_=0,
            max_=150,
            range_opacity=0.8,          # 透明度
            range_text=["mix","min"],    # 最大最小值文本
            range_color=["blue","green","red"],  #过度值颜色
            orient="horizontal",    # 对齐方式# veritica(垂直)或者horizontal(水平)
            is_piecewise=True       #分段展示
        )
        )
)
bar.render_notebook()

提示框配置:TooltipOpts

  bar = (
    Bar(
          # init_opts:初始化配置项
        init_opts=opts.InitOpts(
              # 画布大小 单位像素
              width="700px",
              height="500px",
          )
      )
      .add_xaxis(Faker.choose())
      .add_yaxis("淘宝",Faker.values())
      .add_yaxis("天猫",Faker.values())
      .add_yaxis("京东",Faker.values())
      .set_global_opts(
          # TooltipOpts:提示框配置项(这里面的设置都是提示框的)
          tooltip_opts=opts.TooltipOpts(
              is_show=True,  # 是否显示内容
              trigger_on="click",       #触发事件: mousemove 鼠标移动 / click 鼠标点击
              formatter="{a}:{b}:{c}",  # 内容格式:a-系列名 b-数据名  c-值
              background_color="red",   # 背景颜色
              border_color="green",     # 边框颜色
              border_width=2,           # 边框宽度
          )
      )
  )
  bar.render_notebook()

区域缩放配置:DataZoomOpts

bar = (
    Bar(
        # init_opts:初始化配置项
        init_opts=opts.InitOpts(
            # 画布大小 单位像素
            width="700px",
            height="500px",
        )
    )
    .add_xaxis(Faker.choose())
    .add_yaxis("淘宝",Faker.values())
    .add_yaxis("天猫",Faker.values())
    .add_yaxis("京东",Faker.values())
    .set_global_opts(
        # DataZoomOpts:区域缩放配置项.
        datazoom_opts=opts.DataZoomOpts(
            is_show=True,      # 开启区域缩放
            type_= "slider",   # 托条的类型 slider 和 inside(这个要用鼠标滚动,不好玩)
            is_realtime=True, # 拖动是否实时跟新.
            range_start=20,    # 拖动起始位置 单位百分比
            range_end=80,      # 拖动结束位置 单位百分比
            is_zoom_lock=True  # 是否锁定拖拽区域.(能否放大放小)  
        )
        )
)
bar.render_notebook()


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/508236.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

非关系型数据库——Redis配置与优化

目录 一、关系型数据库和非关系型数据库 1.定义 1.1关系型数据库 1.2非关系型数据库 2.非关系型数据库产生的背景 3.关系型数据库和非关系型数据库区别 3.1适用性不同 3.2数据一致性要求不同 3.3数据模型不同 3.4数据查询语言不同 3.5数据存储方式不同 3.6扩展方式…

教育信创,重磅发布 |易安联联合飞腾发布全场景教育信创白皮书

教育信创正当时,科技飞扬腾风起! 3月28日,《教育行业数字化自主创新 飞腾生态解决方案白皮书》重磅发布!白皮书历时一年,由国产芯片龙头飞腾信息技术有限公司主持,易安联与25所代表院校、66位专家&#xf…

Leetcode - 391周赛

目录 一,3099. 哈沙德数 二,3100. 换水问题 II 三,3101. 交替子数组计数 四,3102. 最小化曼哈顿距离 一,3099. 哈沙德数 本题计算一个整数能否被它各个位数上的数字之和整除,如果能整除,返回…

本地镜像推送到harbor

1.登录已安装docker容器的服务器绑定hosts 输入:vi /etc/hosts 添加:10.128.XXX.27 harbor.com 2.将https请求更改为http请求 vi /etc/docker/daemon.json 添加: { "insecure-registries":["http://harbor.com:80"]…

从永远到永远-Git中tag的使用

Git中tag的使用 1.tag的作用2.使用背景3.tag的使用1.种类2.创建标签3.查看标签3.推送标签4. 删除标签: 4.idea可视化操作1.创建标签2.推送标签 999 删除、指定commit、验证暂时不表 1.tag的作用 Tag(标签)用来记录某个特定的提交(commit)。一个 Tag 被用来标记重要的历史节点&…

Nacos的搭建和使用——SpringCloud Alibaba

1. 概要说明 在使用Nacos之前,请在你的虚拟机中下载好Nacos,再进行连接本机使用 port:8848 本机访问地址:http://{虚拟机ip}:8848/nacos/ 访问账号密码:nacos/nacos 2. Nacos的作用 2.1 服务发现中心 微服务将自身注册至Nacos&am…

没想到?React 编译器还可以玩这个?!

🔥🔥🔥 前方高能,干货满满,建议点赞➕关注➕收藏; React 19 和 React 编译器(此前称作React Forget)最近一个月成为了 React 社区热议的焦点。大家都对于可能很快就不必再在 React …

备战蓝桥杯Day36 - 动态规划 - 三角形最小路径和问题

一、什么是动态规划 通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推的方式解决。 哪些问题可以使用动态规划? 1、具有最优子结构:问题的最优解所包含的子结构的解也是最优的 2、具有无后效性:未来…

爬取BOSS直聘招聘数据(详情页数据+__zp_stoken__逆向)

这里携带逆向方法进行请求 获得数据 需要逆向方法请私聊 , 下面部分只展示爬取思路 对网页进行分析抓包 设置参数 – 城市/薪资范围/职业 对网页进行请求获得数据集 利用xpath,soup等进行进行数据清洗 将数据一csv的格式保存

稳定性生产总结

本期我们来谈下稳定性生产这个话题,稳定性建设目标有两个:降发生、降影响, 在降发生中的措施是做到三点:系统高可用、 高性能、 高质量,三高问题确实是一个很热的话题,里面涉及很多点。 在降影响中要做到…

Express.js项目实战(1)—— 我的藏书馆

首先新建文件夹——myLibrary 在vscode中点击文件>点击 Duplicate Workspace(以工作区的方式打开文件夹myLibrary) 点击duplicate Workspace(打开工作区) 之后,会出现以下界面 点击打开文件夹,选择新建的文件夹,会出…

小黑逆向爬虫探索与成长之路:小黑独立破解毛毛租数据加密与解密

前言 有道和招标网的加密入口定位在前面两期做了详细的介绍,本小结将通过简单的关键词搜索定位到加密与解密入口 数据接口寻找与请求 根据响应数据长度,确定数据接口,发现传入的参数需要加密,响应的结果需要解密,后…

为什么鸿蒙系统那么火,就业岗位却很少?而且很少有公司愿意培养新人?

近期某乎上有这么一则问答提问:“为什么鸿蒙系统那么火,就业岗位却很少?而且很少有公司愿意培养新人?” 都说2024是原生鸿蒙的关键一年,华为鸿蒙各种大动作也没有停过。根据智联招聘数据显示,2023年9月-12月,鸿蒙相关职位数同比…

【Linux入门】Linux简史

Linux 是什么?Linux 是一款叫做操作系统的软件。 操作系统这款软件有什么样的意义呢?简单来说,比如有顾客买了一台笔记本电脑,这台笔记本电脑由电脑硬件组成,在这堆硬件上一定搭载了一款操作系统。正因为操作系统存在&…

【Unity每日一记】这些时间成员变量你是否清楚(Timescale,Time.deltaTime,Time.unscaledDeltaTime等)

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

dockerfile制作-pytoch+深度学习环境版

你好你好! 以下内容仅为当前认识,可能有不足之处,欢迎讨论! 文章目录 文档内容docker相关术语docker常用命令容器常用命令根据dockerfile创建容器dokerfile文件内容 docker问题:可能的原因和解决方法示例修改修改后的D…

C++笔记:命名空间

引入&#xff1a; 平常&#xff0c;我们在进行C编写时&#xff0c;一般我们都会默认在开始去写这样的代码&#xff1a; #include<iostream>//包含头文件using namespace std;//展开命名空间 这里就出现了与C语言不同的地方&#xff1a;这里的命名空间就是C对于C语言进…

Linux:Patch补丁、Diff使用

what的问题 diff命令&#xff0c;记录两个文件的差别&#xff0c;通过diff得到一个patch文件&#xff0c;也应用patch到另外一个文件&#xff0c;通过patch命令 diff and patch are intended to be used on text files. why的问题 Reason 1: diff can be useful by itself t…

如何实现多个PDF文件合并为一个PDF文件

公众号&#xff1a;程序员白特&#xff0c;欢迎一起交流学习~ hi&#xff0c;我是白特。 最近看到一个功能&#xff0c;十分感兴趣&#xff0c;也就是我们要将多个文件服务器中的PDF文件合并为一个PDF文件并以此进行下载打印操作。 那么直接让我们一起看下它的实现思路吧。 …

OpenHarmony实战:硬件适配之HCS应用

一、HCS 配置管理 HCS(HDF Configuration Source)是 HDF 驱动框架的配置描述参数文件&#xff0c;内容以 Key-Value 为主要形式。它实现了配置代码与驱动代码解耦&#xff0c;便于开发者进行配置管理。 HC-GEN(HDF Configuration Generator)是 HCS 配置转换工具&#xff0c;可…