数据可视化——pyecharts库绘图

 目录

官方文档

使用说明: 

点击基本图表

可以点击你想要的图表

安装:

 一些例图:

柱状图:

 效果:

 折线图:

 效果:

环形图:

效果: 

 南丁格尔图(玫瑰图):

效果:

堆叠折线图:

效果:

堆叠柱状图:

 ​编辑

 拟合散点曲线图:




官方文档

使用说明: 

点击基本图表

  • 可以点击你想要的图表

  • 可以点击Demo里面有例图以及代码,可以复制下来再根据需求来改
  • 要查询图表的配置也可以到全局配置里面查找

安装:

pip install pyecharts -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

 一些例图:

这里引用的是一个全国各省份的GDP数据(需要拿来练习的可以私我拿数据~)

柱状图:

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.globals import ThemeType# 加载数据集
data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv',encoding='utf-8')# 提取2016年的数据并按GDP降序排列取前10个省份
data_2016 = data[['province','2016']]
top_10_gdp = data_2016['2016'].sort_values(ascending=False).head(10)
top_10_province = data_2016.loc[top_10_gdp.index, 'province']
# 获取省份和GDP数据
provinces = top_10_province.tolist()
gdp_values = top_10_gdp.tolist()# 使用Pyecharts绘制柱状图
init_opts=opts.InitOpts(width='1000px',height='450px',theme=ThemeType.LIGHT)
bar = (Bar().add_xaxis(provinces).add_yaxis("GDP",gdp_values).set_global_opts(title_opts=opts.TitleOpts(title="2016年全国排名前10的省份GDP"),xaxis_opts=opts.AxisOpts(name="省份"),  yaxis_opts=opts.AxisOpts(name="GDP(亿元)"),)
)
bar.render_notebook()  # 将图表保存为HTML文件

 效果:

 折线图:

from pyecharts.charts import Line
from pyecharts import options as opts
data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv',encoding='utf-8')
data_gx=data.loc[19]
data_gx
year_gx=data_gx.index.to_list()[1:][::-1]
gdp=list(data_gx.values)[1:][::-1]
years=year_gx[:10]
line = (Line().add_xaxis(years).add_yaxis("广西GDP", gdp)  # 设置曲线光滑.set_global_opts(title_opts=opts.TitleOpts(title="广西1997年至2016年的折线图"),xaxis_opts=opts.AxisOpts(name="年份"),yaxis_opts=opts.AxisOpts(name="GDP")  # 在这里添加逗号)
)line.render_notebook()

 效果:

环形图:

import matplotlib.pyplot as plt
from pyecharts import options as opts
from pyecharts.charts import Pie  # 导入 Pie 类
data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv',encoding='utf-8')
data_2014 = data[['province', '2014']]
top_10_gdp = data_2014['2014'].sort_values(ascending=False).head(10)
top_10_province = data_2014.loc[top_10_gdp.index, 'province']
gdp = top_10_gdp.tolist()
provinces = top_10_province.tolist()pie=Pie()
pie.add('',[list(z)for z in zip(provinces,gdp)],radius=[70, 150])
pie.set_global_opts(title_opts=opts.TitleOpts(title='2024年全国各省GDP排名前十的省份', pos_top="5%"),legend_opts=opts.LegendOpts(pos_bottom="5%"))
pie.set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}亿元({d}%)'))
pie.render_notebook()

效果: 

 南丁格尔图(玫瑰图):

import matplotlib.pyplot as plt
from pyecharts import options as opts
from pyecharts.charts import Page, Pie
data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv',encoding='utf-8')
data_gx=data.loc[19]
#获取广西近八年GDP数据
year_gx=data_gx.index.to_list()[1:]
year_gx=year_gx[:8]
gdp_gx=list(data_gx.values)[1:][:8]#获取江苏近八年GDP数据
data_js=data.loc[9]
year_js=data_js.index.to_list()[1:][:8]
gdp_js=list(data_js.values)[1:][:8]# 绘制广西南丁格尔玫瑰图(area型)
guangxi_pie = (Pie().add(series_name="广西近8年的GDP",  # 系列名称data_pair=[list(z) for z in zip(year_gx, gdp_gx)],  # 数据对,形如 [('2014', 100), ('2015', 120), ...]radius=[50, 200],  # 设置半径,形成南丁格尔玫瑰图rosetype="area",  # 设置玫瑰图类型为 area).set_global_opts(title_opts=opts.TitleOpts(title="广西近8年 GDP 变化"),  # 设置标题legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_right="2%")).set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}(亿元)({d}%)'))
)# 绘制江苏南丁格尔玫瑰图(radius型)
jiangsu_pie = (Pie().add(series_name="江苏 GDP 变化",  # 系列名称data_pair=[list(z) for z in zip(year_js, gdp_js)],  # 数据对,形如 [('2014', 200), ('2015', 220), ...]radius=[50, 200],  # 设置半径,形成南丁格尔玫瑰图rosetype="radius",  # 设置玫瑰图类型为 radius).set_global_opts(title_opts=opts.TitleOpts(title="江苏近8年 GDP 变化"),  # 设置标题legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_right="2%")).set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}(亿元)({d}%)'))
)# 创建一个页面,并将两个图添加到页面中
page = Page()
page.add(guangxi_pie)
page.add(jiangsu_pie)# 渲染并保存 HTML 文件
page.render_notebook()

效果:

堆叠折线图:


import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Line
from pyecharts.globals import ThemeType
from pyecharts import options as opts
data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv')
# 截取北京的数据
data_bj = data.loc[0]
year_bj = data_bj.index.to_list()[1:]
gdp_bj = list(data_bj.values)[1:]# 截取上海数据
data_sh = data.loc[8]
year_sh = data_sh.index.to_list()[1:]
gdp_sh = list(data_sh.values)[1:]# 截取广东数据
data_gd = data.loc[18]
year_gd = data_gd.index.to_list()[1:]
gdp_gd = list(data_gd.values)[1:]# 创建堆叠面积图对象
line = Line()# 添加数据并设置堆叠属性
line.add_xaxis(year_bj)
line.add_yaxis("北京", gdp_bj, is_smooth=True, stack="stack1", areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
line.add_yaxis("上海", gdp_sh, is_smooth=True, stack="stack1", areastyle_opts=opts.AreaStyleOpts(opacity=0.5))
line.add_yaxis("广东", gdp_gd, is_smooth=True, stack="stack1", areastyle_opts=opts.AreaStyleOpts(opacity=0.5))# 设置全局配置项
line.set_global_opts(title_opts=opts.TitleOpts(title="北京、上海、广东历年GDP变化堆叠面积图"),xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=False),yaxis_opts=opts.AxisOpts(type_="value", name="GDP(亿元)"),tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross")
)# 渲染图像
line.render_notebook()

效果:

堆叠柱状图:

from pyecharts.charts import Bar
import pandas as pd
from pyecharts import options as opts
from pyecharts.globals import ThemeType#截取广西数据
data = pd.read_csv(r'D:\Dabby\Documents\数据可视化\gdp.csv')
data_gx=data.loc[19]
year_gx=data_gx.index.to_list()[1:][::-1]
gdp_gx=list(data_gx.values)[1:][::-1]#截取广东数据
data_gd=data.loc[18]
year_gd=data_gd.index.to_list()[1:][::-1]
gdp_gd=list(data_gd.values)[1:][::-1]# 绘制堆叠柱状图  
bar = Bar()  # 注意:这里你可能需要导入InitOpts,但在某些版本的Pyecharts中可能不是必需的  
bar.add_xaxis(year_gx)  
# 注意:添加stack参数并将值设置为相同的字符串(例如'gdp'),以使序列堆叠  
bar.add_yaxis("广西", gdp_gx, stack="gdp")  
bar.add_yaxis("广东", gdp_gd, stack="gdp")  bar.set_global_opts(  title_opts=opts.TitleOpts(title="近年来广西和广东的GDP趋势"),  xaxis_opts=opts.AxisOpts(type_="category"),  yaxis_opts=opts.AxisOpts(type_="value", name="GDP (亿元)"),  legend_opts=opts.LegendOpts(pos_left="center", pos_top="top")  
)  
bar.render_notebook()

 

 拟合散点曲线图:

mport pandas as pd
import numpy as np
from pyecharts import options as opts
from pyecharts.charts import Line
from pyecharts.charts import Scatter
from pyecharts.globals import ThemeType
data=pd.read_csv(r"D:\Dabby\Documents\数据可视化\gdp.csv",encoding='utf-8')
#截取广西数据
data_gx=data.loc[19]
year_gx=data_gx.index.to_list()[1:]
gdp_gx=list(data_gx.values)[1:]
#先绘制散点图
scatter=Scatter()
scatter.add_xaxis(year_gx)
scatter.add_yaxis("GDP",gdp_gx)
scatter.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
scatter.set_global_opts(title_opts=opts.TitleOpts(title='广西的20年gdp散点拟合曲线')) 
scatter.render_notebook()
#计算拟合三次多项式的x,y,z
year_gx_float = np.array(year_gx, dtype=float)  
gdp_gx_float = np.array(gdp_gx, dtype=float)  
poly=np.polyfit(year_gx_float,gdp_gx_float,deg=3)
#绘制拟合曲线散点图
line=Line()
line.add_xaxis(list(year_gx))  
line.add_yaxis('GDP', np.polyval(poly, year_gx_float))  
line.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
scatter.overlap(line)
scatter.render_notebook()

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

贪心算法06(leetcode738,968)

参考资料&#xff1a; https://programmercarl.com/0738.%E5%8D%95%E8%B0%83%E9%80%92%E5%A2%9E%E7%9A%84%E6%95%B0%E5%AD%97.html 738. 单调递增的数字 题目描述&#xff1a; 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。…

CTF-PWN-kernel-UAF

文章目录 参考slub 分配器kmem_cache_cpukmem_cache_node[ ]冻结和解冻分配释放 fork绑核Kmalloc flag和slub隔离CISCN - 2017 - babydriver检查babtdriver_initstruct cdevalloc_chrdev_regioncdev_initownercdev_add_class_createdevice_create babyopenbabyreleasebabyreadb…

Python中的元编程(metaprogramming)概念

Python中的元编程&#xff08;Metaprogramming&#xff09;是一个高级编程概念&#xff0c;它涉及到编写能够操作代码&#xff08;例如类、函数、模块等&#xff09;本身的程序。元编程允许开发者在运行时检查、修改、甚至生成代码。这种能力使得Python能够处理一些复杂的任务&…

【C++】STL中list的使用

前言&#xff1a;在前面学习的 过程中我们学习了STL中的string,vector&#xff0c;今天我们来进一步的学习STL中的list的使用方法。 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; 专栏分类:高质量&#xff23;学习 &#x1f448; &#x1f4af;代…

全志D1s软件入门之Tina Linux烧写教程

烧写 Tina Linux 烧写&#xff0c;即将编译打包好的固件下载到设备 烧写方式简介 全志平台为开发者提供了多种多样的烧写方式和烧写工具&#xff1a; &#xff08;1&#xff09; PhoenixSuit&#xff1a;基于Windows的系统的烧写工具&#xff0c;是最常用的烧写工具&#x…

树莓派4b安装宝塔面板

1、打开命令窗口&#xff0c;执行如下命令 #更新 sudo apt-get update sudo apt-get upgrade #切换root权限 sudo su root #安装宝塔面板 wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh安装过程有点久&#xff0c;会持…

【文末附gpt升级秘笈】探索AGI之路:穿越大模型的冰与火,谱写未来技术的乐章

探索AGI之路&#xff1a;穿越大模型的冰与火&#xff0c;谱写未来技术的乐章 摘要 随着人工智能技术的飞速发展&#xff0c;大模型成为了业界关注的焦点。然而&#xff0c;大模型并非万能&#xff0c;其背后隐藏着诸多迷思与挑战。本文基于“AGI技术50人”访谈栏目的素材&…

01——生产监控平台——WPF

生产监控平台—— 一、介绍 VS2022 .net core(net6版本&#xff09; 1、文件夹&#xff1a;MVVM /静态资源&#xff08;图片、字体等&#xff09; 、用户空间、资源字典等。 2、图片资源库&#xff1a; https://www.iconfont.cn/ ; 1.资源字典Dictionary 1、…

C++系统编程篇——linux编译器 gcc/g++(链接动静态库)

linux编译器-gcc/g &#xff08;1&#xff09;g安装&#xff08;gcc一般自带&#xff0c;g需要下载&#xff09; sudo yum install -y gcc-c g --version gcc用于编译C语言代码&#xff0c;g用于编译C代码 &#xff08;2&#xff09;程序翻译过程 选项“-o”是指目标文件…

Leetcode 3181. Maximum Total Reward Using Operations II

Leetcode 3181. Maximum Total Reward Using Operations II 1. 解题思路2. 代码实现 题目链接&#xff1a;3181. Maximum Total Reward Using Operations II 1. 解题思路 这一题的话思路上依然还是动态规划的思路&#xff0c;核心的迭代关系式如下&#xff1a; def dp(idx,…

Python的return和yield,哪个是你的菜?

目录 1、return基础介绍 &#x1f4da; 1.1 return用途&#xff1a;数据返回 1.2 return执行&#xff1a;函数终止 1.3 return深入&#xff1a;无返回值情况 2、yield核心概念 &#x1f347; 2.1 yield与迭代器 2.2 生成器函数构建 2.3 yield的暂停与续行特性 3、retur…

关于使用spring boot自带的jackson解析xml心得

一、声明版本依赖 项目负责版本管理的pom依赖如下声明引用 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.18</version><relativePath/></parent…

react+wijmo所遇问题

1.官网地址&#xff1a;https://demo.mescius/wijmo/demos/Grid/Overview/react 别进中文地址&#xff0c;注意后缀mescius有没有.cn有的话删掉&#xff0c;那个没有触发方法和各类API&#xff0c;组件也不全 2.中文地址&#xff1a;&#xff08;不太好用&#xff09;&#x…

Flask-REXTx 学习笔记——1.响应编组(Response marshalling)

记录对Flask-REXTx的学习笔记 简介 Flask-RESTx是一个基于Flask的扩展&#xff0c;它提供了一些额外的功能来帮助开发人员更轻松地构建强大的RESTful API。这些功能包括API文档的自动生成、请求参数解析和API资源管理等。Flask-RESTx的目标是在维护API时能够提供更好的文档和…

MFC 教程-回车时窗口退出问题

【问题描述】 MFC窗口默认时&#xff0c;按回车窗口会退出 【原因分析】 默认调用OnOK() 【解决办法】 重写虚函PreTranslateMessage BOOL CTESTMFCDlg::PreTranslateMessage(MSG* pMsg) {// TODO: 在此添加专用代码和/或调用基类// 修改回车键的操作反应 if (pMsg->…

C++11新特性【上】(统一的列表初始化、auto、decltype、右值引用、万能引用、完美转发)

一、C11简介 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1)&#xff0c;使得C03这个名字已经取代了 C98称为C11之前的最新C标准名称。不过由于C03(TC1)主要是对C98标准中的漏洞 进行修复&#xff0c;语言的核心部分则没有改动&#xff0c;因此人们习惯性的把两个标准合…

Web前端中级探索:技术进阶与困惑之旅

Web前端中级探索&#xff1a;技术进阶与困惑之旅 在Web开发领域&#xff0c;前端技术扮演着至关重要的角色。对于中级前端开发者而言&#xff0c;这是一个既充满挑战又充满机遇的阶段。本文将从四个方面、五个方面、六个方面和七个方面&#xff0c;深入探讨Web前端中级阶段的技…

高德地图简单实现点标,和区域绘制

高德地图开发文档:https://lbs.amap.com/api/javascript-api/guide/abc/quickstart 百度搜索高德地图开发平台 注册高德地图开发账号 在应用管理中 我的应用中 添加一个Key 点击提交 进入高德地图开发文档:https://lbs.amap.com/api/javascript-api/guide/abc/quickstart …

Mysql 的分布式策略

1. 前言 MySQL 作为最最常用的数据库&#xff0c;了解 Mysql 的分布式策略对于掌握 MySQL 的高性能使用方法和更安全的储存方式有非常重要的作用。 它同时也是面试中最最常问的考点&#xff0c;我们这里就简单总结下 Mysq 的常用分布式策略。 2. 复制 复制主要有主主复制和…

使用 C# 学习面向对象编程:第 2 部分

C# 类属性简介 属性在面向对象编程中起着至关重要的作用。它们允许我们从类外部访问类的私有变量。在类中使用私有变量是很好的。属性看起来像变量和方法的组合。属性有部分&#xff1a;“get 和 set”方法。get 方法应该返回变量&#xff0c;而 set 方法应该为其赋值。 步骤…