IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python的可视化框架pyecharts介绍—教你真正学会绘制你想要的图表(超级详细) -> 正文阅读

[Python知识库]Python的可视化框架pyecharts介绍—教你真正学会绘制你想要的图表(超级详细)

Pyecharts

  概况 :

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

本篇文章是我通过看了官方文档学习过后加上自己的理解与突发奇想写的,目的与大家一起学习探讨,不对的大家可以留言我我好及时改正,也是自己一个学习的过程,欢迎大家交流

下面是pyecharts的特性(——从官网复制来的——)

? 特性

  • 简洁的 API 设计,使用如丝滑般流畅,支持链式调用
  • 囊括了 30+ 种常见图表,应有尽有
  • 支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab
  • 可轻松集成至 Flask,Django 等主流 Web 框架
  • 高度灵活的配置项,可轻松搭配出精美的图表
  • 详细的文档和示例,帮助开发者更快的上手项目
  • 多达 400+ 地图文件以及原生的百度地图,为地理数据可视化提供强有力的支持

简要的介绍过后就开始我们的正题啦!首先绘制第一个图表,大家首先需要导入pyecharts模块

from pyecharts.charts import Bar

这是绘制柱状图的,绘制折线图(Line),饼图(Pie),地图(Map)还有各种乱七八糟的图我会再后面发布。下面是创建一个柱状图:

bar = Bar() #图像初始化,得到bar空表
bar.add_xaxis(['键盘','耳机','鼠标','显示器']) #只是添加X轴的数据
bar.add_yaxis("店铺一",[200,100,300,50]) #添加Y轴的数据,数据里面必须是数字
bar.add_yaxis("店铺二",[300,100,400,80]) #添加第二条Y轴的数据
bar.render_notebook() #渲染成丘比特内置的图表,方便数据分析

这便是绘制的第一个柱状图啦,bar.render()如果是这样render 会生成本地 HTML 文件,默认会在当前目录生成 render.html 文件,也可以传入路径参数,如 bar.render("mycharts.html"),(开头我可能显得有点啰嗦,大佬们多多担待)

pyecharts 所有方法均支持链式调用。

#链式操作
bar5=(
    Bar()
    .add_xaxis(['键盘','耳机','鼠标','显示器'])
    .add_yaxis("店铺一",[200,100,300,10])
    .add_yaxis("店铺二",[500,50,400,80])
)
bar5.render_notebook()

?

?接着是使用 options 配置项,在 pyecharts 中,一切皆 Options。(可以让你的图表更加炫酷,并且能够互动的地方变多),同样的需要导入配置包。?

from pyecharts import options as opts

全局配置项?,可通过?set_global_opts?方法设置

bar5.set_global_opts(datazoom_opts=opts.DataZoomOpts(), 
                     visualmap_opts=opts.VisualMapOpts(),
                     legend_opts=opts.LegendOpts(is_show = False),
                     title_opts=opts.TitleOpts(title="万豪的小店",subtitle="商品销售量"),
                     toolbox_opts=opts.ToolboxOpts()
                    )
bar5.render_notebook()

datazoom_opts=opts.DataZoomOpts()——区域缩放配置项,就是下面那个可以拖动缩放的条状物visualmap_opts=opts.VisualMapOpts()——视觉映射配置项,左下角那个五颜六色可以拖动的条

legend_opts=opts.LegendOpts(is_show = False),图例配置项,就是下面这个玩意,False就让它不显示了

title_opts=opts.TitleOpts(title="万豪的小店",subtitle="商品销售量")——标题配置项

toolbox_opts=opts.ToolboxOpts()——工具箱配置项,右上角那个(我感觉最有用的,可以让你的柱状图瞬间变成折线图哦)

pyecharts的虚假数据库

这个给大家先讲下我们后面会经常使用,虚假数据库,也需要导包如下:

from pyecharts.faker import Faker as fk

?

?每一次生成为7个,下面为循环生成5*7? 35个随机数据

for i in range(5):
    print(Faker.choose())
#Faker.choose是一个函数,从里面随机选择

下面是图形的水平颠倒

bar5=(
    Bar()
    .add_xaxis(['键盘','耳机','鼠标','显示器'])
    .add_yaxis("店铺一",Faker.values(),stack="K")
    .add_yaxis("店铺二",Faker.values(),stack="K")
    .add_yaxis("店铺三",Faker.values(),stack="C")
    .add_yaxis("店铺四",Faker.values(),stack="C")
    .add_yaxis("店铺五",Faker.values(),stack="L")
    .add_yaxis("店铺六",Faker.values(),stack="L")
    .add_yaxis("店铺七",Faker.values(),stack="L")
    .reversal_axis()#水平颠倒 若启用工具盒,可能出现堆叠超出数据的情况  
)
bar5.render_notebook()

?stack的意思是名字相同的数据叠加到一起,例如店铺一与店铺二的stack为“K”,则他们俩的数据叠加到一起。

下面是绘制一年的降水量,蒸发量与平均温度一个比较好看的表

month_data = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
precipitation_data = [2.5,6.0,8.0,30.2,31.4,87.6,150.4,170.8,60.2,31.1,10.5,10.1] #降水量数据
evaporation_data = [2.0,4.9,7.0,23.2,25.6,76.7,135.6,162.2,32.6,20.0,6.4,3.3] #蒸发量数据
average_temperature = [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2] #平均温度
bar = (
    Bar()
    .add_xaxis(month_data)
    .add_yaxis("降水量",precipitation_data)
    .add_yaxis("蒸发量",evaporation_data)
    .extend_axis(
        yaxis=opts.AxisOpts(
            name="温度",
            type_="value",
            min_=0,
            max_=25,
            interval=5,
            axislabel_opts=opts.LabelOpts(formatter="{value} °C"),
        )
    )
    .set_global_opts(
        tooltip_opts=opts.TooltipOpts(
            is_show=True, trigger="axis", axis_pointer_type="cross"
        ),
        xaxis_opts=opts.AxisOpts(
            type_="category",
            axispointer_opts=opts.AxisPointerOpts(is_show=True, type_="shadow"),
        ),
        yaxis_opts=opts.AxisOpts(
            name="水量",
            type_="value",
            min_=0,
            max_=250,
            interval=50,
            axislabel_opts=opts.LabelOpts(formatter="{value} ml"),
            axistick_opts=opts.AxisTickOpts(is_show=True),
            splitline_opts=opts.SplitLineOpts(is_show=True),
        ),
    )
)
line = (
    Line()
    .add_xaxis(month_data)
    .add_yaxis(
        series_name="平均温度",
        yaxis_index=1,
        y_axis=average_temperature,
        label_opts=opts.LabelOpts(is_show=False),
    )
)
bar.overlap(line).render_notebook()

?.extend_axis,添加右边Y轴的数据,看看应该就能看懂,很简单

tooltip_opts=opts.TooltipOpts(),让鼠标所在的位置X轴有目标,就是那跟横着的虚线。

axispointer_opts=opts.AxisPointerOpts(),让鼠标所在的位置Y轴有目标,就是那块竖着的方块。

yaxis_opts=opts.AxisOpts(),设置左边Y轴的数据

剩下的大家可以自己去探索一下什么功能,就是一些配置都很简单,至此,pyecharts的条形统计图的绘制大都可以实现啦,下面是我整理的pyecharts Bar()的官网所有问题解决形式 ,到官网大家搜索都能找到

Bar_rotate_xaxis_label 旋转X轴标签 解决标签名字过长的问题
Bar_xyaxis_name 更改X轴 Y轴的名称
Bar_base_with_custom_background_image 添加背景图
Bar_chart_display_delay 柱状图动画延迟
Bar_datazoom 垂直与水平拖动条
Bar_histogram_color 直方图(颜色区分)
Bar_yaxis_formatter 给Y轴添加表达数据
Bar_markpoint_type 指定类型
Bar_custom_bar_color 自定义柱状颜色
Bar_different_series_gap 不同柱间距离
Bar_markline_type 精准标记

这次的分享比较简单,感觉有用的同学可以点个赞!后面我会持续更新pyecharts折线图,饼图,地图还有各种乱七八糟的图,大家可以关注我哟

? ? ? ? ? ?

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-27 12:47:35  更:2021-10-27 12:48:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:52:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码