基于python的pyecharts大数据作图方法与简单修饰

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 引入在前期学习了一些数据处理操作之后,我们想要将其进行可视化处理,生成能直观感受的数据分析结果,以此来讲解给需要用到结果的人——或者让自己看得舒服——我们用pandas自带的作图工具有的时候不那么如人意,其可定制化程度不高,难以满足一些需求这个时候我们就需要用新的工具了——他就是pyecharts

引入


在前期学习了一些数据处理操作之后,我们想要将其进行可视化处理,生成能直观感受的数据分析结果,以此来讲解给需要用到结果的人——或者让自己看得舒服——

我们用pandas自带的作图工具有的时候不那么如人意,其可定制化程度不高,难以满足一些需求

这个时候我们就需要用新的工具了——

他就是pyecharts


一、什么是pyecharts


首先我们要知道一个东西——Echarts:

Echarts是一个由百度开源的商业级数据图表,它是一个纯JavaScript的图表库,在业界非常有名。

因为他可以为用户提供直观生动,可交互,可高度个性化定制的数据可视化图表,赋予了用户对数据进行挖掘整合的能力。

而pyecharts顾名思义,就是python和echarts连接起来,从而用python做出echarts图表的第三方库了


二、模块安装与导入


首先我们需要打开随便一个py运行环境(这里我们以jupyter notebook为例)

输入pip install pyecharts来安装该依赖


image.pngimage.png

image.png


获得如图的提示即为安装成功(其实没有报错就是安装成功)

加载必要依赖。


import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#如果是pyecharts更早的版本可能不需要运行下面的命令
import pyecharts
pyecharts.globals._WarningControl.ShowWarning = False
import warnings
warnings.filterwarnings('ignore')#隐藏警告


image.png

隐藏警告是为了防止版本更新带来的一些的提示。基本操作学习中不需要考虑太多,否则容易进度太慢而造成拖延和不自信。


三、作图的通用流程


1. 选择图的类型

1. 导入图所需要的数据

如上,两步几乎涵盖了作图的所有进程。

以创建一个柱状图bar为例:

我们先要有一个数据(前期准备)

x=list(range(1,8))
#x=[2,1,4,5,7,8,10]
y=[114, 55, 27, 101, 125, 27, 105]

这样我们可以得到一个1~7的x值,以及可以与x一一对应的y值。正好适合作柱状图的数据

from pyecharts import options as opts
from pyecharts.charts import Bar

从pyecharts中引入我们需要的工具。然后就可以开始作图了!

bar = Bar()
bar.add_xaxis(list(x))
bar.add_yaxis("name", y)
bar.render_notebook()#用来在notebook中展示图形,使用render则会直接保存为html文件

第一行创建一个bar对象(选择图的类型),二三行是为了把数据导入(导入图所需要的数据)。

这样其实一个图就创建好了。我们为了更好地调试,用第四行代码把图在notebook中展示出来——

image.png

如图,创建过程非常丝滑。有空一定要亲自体验一下。echarts具有交互属性,你可以用鼠标移动到各个柱子上,他会显示出图所代表的名字以及xy值。非常好用


四、简单修饰


用pyecharts非常重要的原因之一是其可定制化和交互性。如何利用好这些优点,需要我们善于用代码修饰我们作出的图表。

使其符合我们的需要才是关键

下面来看看如何客制化一个柱状图bar:

Tip:做数据分析练习的时候有个十分头疼的问题是我们没有足够时候的数据。pyecharts库提供了一个非常人性化的小工具——faker,可以生成我们图表需要的数据,这样我们可以快速将重点精力集中在图表制作和测试:


from pyecharts.faker import Faker#用来产生伪数据的包
复制代码


接下来我们把相关变量直接放进我们的图标生成代码里,方便大家切身体会一下这些可以自定义的变量的位置和使用逻辑,毕竟实操才是最有效的学习码代码的方法。


c = (
    Bar(init_opts=opts.InitOpts(width="620px", height="300px"))
    .add_xaxis(Faker.choose())
    .add_yaxis("商家A", Faker.values())
    .add_yaxis("商家B", Faker.values())
    .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"))
)
复制代码


这是一个python语句的写法。其实分开来一行一行写就像(三)中那样也是可以的。这里就理解成是从上到下依次对c执行这些操作。

Bar()生成bar图表(选择图表类型),add_xaxis()和add_yaxis()分别为x和y坐标创建名称和数据。global_opt中的title——opt参数中可以设置主标题副标题。

其中y的括号中第一个参数是图例名,即一个统计量。右边的是数据,我们用Faker的自动生成数据代替。 x则直接用Faker自动生成的商品名代替。

多说无益,直接看效果:c.render_notebook查看图表:


image.pngimage.png

image.png

生成过程非常丝滑,图表也非常好看。

快来开发出赏心悦目的数据图表吧~

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
1月前
|
测试技术 API Python
【10月更文挑战第1天】python知识点100篇系列(13)-几种方法让你的电脑一直在工作
【10月更文挑战第1天】 本文介绍了如何通过Python自动操作鼠标或键盘使电脑保持活跃状态,避免自动息屏。提供了三种方法:1) 使用PyAutoGUI,通过安装pip工具并执行`pip install pyautogui`安装,利用`moveRel()`方法定时移动鼠标;2) 使用Pymouse,通过`pip install pyuserinput`安装,采用`move()`方法移动鼠标绝对位置;3) 使用PyKeyboard,同样需安装pyuserinput,模拟键盘操作。文中推荐使用PyAutoGUI,因其功能丰富且文档详尽。
WK
|
22天前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
68 36
|
1月前
|
机器学习/深度学习 数据采集 数据挖掘
11种经典时间序列预测方法:理论、Python实现与应用
本文将总结11种经典的时间序列预测方法,并提供它们在Python中的实现示例。
63 2
11种经典时间序列预测方法:理论、Python实现与应用
|
24天前
|
存储 机器学习/深度学习 大数据
量子计算与大数据:处理海量信息的新方法
【10月更文挑战第31天】量子计算凭借其独特的量子比特和量子门技术,为大数据处理带来了革命性的变革。相比传统计算机,量子计算在计算效率、存储容量及并行处理能力上具有显著优势,能有效应对信息爆炸带来的挑战。本文探讨了量子计算如何通过量子叠加和纠缠等原理,加速数据处理过程,提升计算效率,特别是在金融、医疗和物流等领域中的具体应用案例,同时也指出了量子计算目前面临的挑战及其未来的发展方向。
|
29天前
|
开发者 Python
Python中的魔法方法与运算符重载
在Python的奇妙世界里,魔法方法(Magic Methods)和运算符重载(Operator Overloading)是两个强大的特性,它们允许开发者以更自然、更直观的方式操作对象。本文将深入探讨这些概念,并通过实例展示如何利用它们来增强代码的可读性和表达力。
|
10天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
1月前
|
Linux Python
Python获得本机本地ip地址的方法
【10月更文挑战第8天】 socket模块包含了丰富的函数和方法,可以获取主机的ip地址,例如gethostbyname方法可以根据主机名获取ip地址,gethostbyname_ex方法可以获得本机所有ip地址列表,也可以使用netifaces模块获取网卡信息。
37 0
|
1月前
|
SQL 安全 数据库
Python防止SQL注入攻击的方法
Python防止SQL注入攻击的方法
52 0
|
1月前
|
Python
Python中tqdm模块的常用方法和示例
`tqdm` 是一个快速、可扩展的Python进度条库,适用于长循环中添加进度提示。通过封装迭代器 `tqdm(iterator)`,可以轻松实现进度显示。支持自定义描述、宽度及嵌套进度条,适用于多种迭代对象。在Jupyter notebook中,可自动调整显示效果。
35 0
|
1月前
|
Python
Python中threading模块的常用方法和示例
Python 的 `threading` 模块提供了多线程编程的能力,允许同时执行多个线程。主要类包括 `Thread`、`Lock` 和 `Condition`。`Thread` 类用于创建和管理线程,`Lock` 用于同步线程,防止资源竞争,`Condition` 用于线程间协调。本文介绍了这些类的常用方法及示例代码,帮助你更好地理解和使用多线程编程。
28 0