Python数据分析-绘制图表

示例1:

from pyecharts.charts import Bar  # 柱状图
from pyecharts import options as optsfrom pyecharts.render import make_snapshotbar = Bar()
bar.add_xaxis(['一月', '二月', '三月', '四月', '五月'])
bar.add_yaxis("销售额", [10, 20, 15, 25, 30])# 配置图表
bar.set_global_opts(title_opts=opts.TitleOpts(title="月度销售额柱状图"),xaxis_opts=opts.AxisOpts(name="月份"),yaxis_opts=opts.AxisOpts(name="销售额(万元)"),
)# 渲染图表
bar.render("bar_chart.html")

运行结果:

如果点击销售额按钮,可动态展现柱状图。

示例2:

from pyecharts import options as opts
from pyecharts.charts import Bar
# 内置主题类型可查看 pyecharts.globals.ThemeType
from pyecharts.globals import ThemeType# 准备数据
bar = (Bar(init_opts=opts.InitOpts(theme=ThemeType.PURPLE_PASSION)).add_xaxis(['衬衣', '羊毛衫', '西装', '裤子', '鞋子', '袜子']).add_yaxis('商家A', [5, 20, 40, 30, 80, 90]).add_yaxis('商家B', [16, 2, 34, 34, 33, 50])
)bar.set_global_opts(title_opts=opts.TitleOpts(title="月度销售额柱状图", subtitle="副标题"),xaxis_opts=opts.AxisOpts(name="月份"),yaxis_opts=opts.AxisOpts(name="销售额(万元)"),legend_opts=opts.LegendOpts(pos_left="center", pos_top="top"),toolbox_opts=opts.ToolboxOpts(),  # 工具箱配置项,用于添加一些交互工具,如保存为图片、数据视图等。tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
)
# 渲染图表
bar.render("themed_bar_chart图表2.html")

运行结果:

点击“商家A”或者“商家B”可单独展现,如图所示。

示例3:

import pandas as pd
from pyecharts.charts import Bar, Line
from pyecharts import options as opts
from pyecharts.globals import ThemeType# 读取数据
data = pd.read_csv("E_business.csv", encoding='GBK')# 转换日期列为日期类型
data['订单日期'] = pd.to_datetime(data['订单日期'])# 提取2019~2022年的数据
data = data[(data['订单日期'].dt.year >= 2019) & (data['订单日期'].dt.year <= 2022)]# 对数据按地区和产品类别进行分组,并对销售额和利润额求和
grouped_data = data.groupby(['区域']).agg({'销售额': 'sum', '利润额': 'sum'}).reset_index()# 创建柱状图
bar = (Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT, bg_color="#f0f8ff")).add_xaxis(grouped_data['区域'].tolist()).add_yaxis("销售额", grouped_data['销售额'].tolist(), category_gap="50%").add_yaxis("利润额", grouped_data['利润额'].tolist(), category_gap="50%").set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title="历年各区域产品销售/利润对比图", pos_left='left'),# xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45)),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45), name="区域"),yaxis_opts=opts.AxisOpts(name="销售额和利润额"),legend_opts=opts.LegendOpts(pos_left="center", pos_top="top"),toolbox_opts=opts.ToolboxOpts(),  # 工具箱配置项,用于添加一些交互工具,如保存为图片、数据视图等。tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),)
)# 创建趋势线
line = (Line().add_xaxis(grouped_data['区域'].tolist()).add_yaxis("销售额趋势线", grouped_data['销售额'].tolist(), is_smooth=True, symbol='circle').add_yaxis("利润额趋势线", grouped_data['利润额'].tolist(), is_smooth=True, symbol='diamond')
)# 合并柱状图和趋势线
bar.overlap(line)# 渲染图表
bar.render("bar_line_chart图表3.html")

运行结果:

示例4:

import pandas as pd
import matplotlib.pyplot as plt
# import seaborn as sns# 设置中文字体为SimHei
plt.rcParams['font.sans-serif'] = ['SimHei']# 读取数据
data = pd.read_csv("E_business.csv", encoding='GBK')# 转换日期列为日期类型
data['订单日期'] = pd.to_datetime(data['订单日期'])# 提取2019~2022年的数据
data = data[(data['订单日期'].dt.year >= 2019) & (data['订单日期'].dt.year <= 2022)]# # 绘制双柱状图
# plt.figure(figsize=(12, 8))
# sns.barplot(x='区域', y='销售额', hue='产品类别', data=data, palette='coolwarm', ci=None)
# sns.barplot(x='区域', y='利润额', hue='产品类别', data=data, palette='coolwarm', ci=None, alpha=0.5)# 对数据按地区和产品类别进行分组,并对销售额和利润额求和
grouped_data = data.groupby(['区域']).agg({'销售额': 'sum', '利润额': 'sum'}).reset_index()# 设置柱状图参数
bar_width = 0.35
index = grouped_data.index# 绘制销售额柱状图
p1 = plt.bar(index, grouped_data['销售额'], bar_width, label='求和项:销售额', color='skyblue')# 绘制利润额柱状图
p2 = plt.bar(index + bar_width, grouped_data['利润额'], bar_width, label='求和项:利润额', color='salmon')# 显示图例
plt.legend(handles=[p1, p2], loc='upper right')# 标记趋势线
plt.plot(index, grouped_data['销售额'], marker='o', linestyle='-', color='b')
plt.plot(index + bar_width, grouped_data['利润额'], marker='s', linestyle='--', color='r')# 设置标题
plt.title('历年各区域产品销售/利润对比图', loc='left')# 设置坐标轴标签
plt.xlabel('区域')
plt.ylabel('销售额和利润额')# 显示图例
# plt.legend(title='求和项', title_fontsize='13', fontsize='11', loc='upper right')# 填充背景色
plt.gca().set_facecolor('#f0f8ff')# 设置刻度标签
plt.xticks(index + bar_width / 2, grouped_data['区域'])plt.savefig('数据分析-图表4.png')# 显示图表
plt.tight_layout()
plt.show()

运行结果:

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

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

相关文章

安卓framework单屏幕Display秒双/多屏互动相关需求改进-wms实战开发

背景 前面已经给学员朋友们分享过单屏秒变双屏的成果展示&#xff0c;具体详情可以点击这里&#xff1a; https://mp.weixin.qq.com/s/KdYTLMuXiBdjM0kZmYKzPg 一些vip学员朋友也纷纷求助马哥的实现patch代码&#xff0c;想用于公司的实战项目实现。但是在公司需求实现要求和…

Python(TensorFlow)和MATLAB及Java光学像差导图

&#x1f3af;要点 几何光线和波前像差计算入瞳和出瞳及近轴光学计算波前像差特征矩阵方法计算光谱反射率、透射率和吸光度透镜像差和绘制三阶光线像差图和横向剪切干涉图分析瞳孔平面焦平面和大气湍流建模神经网络光学像差计算透镜光线传播几何偏差计算像差和像散色差纠正对齐…

八、Maven总结

1.为什么要学习Maven&#xff1f; 2.Maven 也可以配华为云和腾讯云等。 3.IDEA整合Maven 4.IDEA基于Maven进行工程的构建 5.基于Maven进行依赖管理&#xff08;重点&#xff09; 6. Maven的依赖传递和依赖冲突 7. Maven工程继承和聚合 8.仓库及查找顺序

应用层协议Http

Http协议 1.1 什么是http协议 在进行网络通信时&#xff0c;应用层协议一般都是程序员自己写的&#xff0c;但是有一些大佬其实已经定义出了一些现成的应用层协议&#xff0c;例如&#xff1a;HTTP&#xff08;超文本传输协议&#xff09;、FTP&#xff08;文件传输协议&#…

SAP学习笔记 - 开发04 - Fiori UI5 开发环境搭建

上一章学习了 CDSView开发环境的搭建&#xff0c;以及CDSView相关的知识。 SAP学习笔记 - 开发03 - CDSView开发环境搭建&#xff0c;Eclipse中连接SAP&#xff0c;CDSView创建-CSDN博客 本章继续学习SAP开发相关的内容&#xff0c; - Fiori UI5的开发环境搭建 - 安装VSCode …

百度飞将 paddle ,实现贝叶斯神经网络 bayesue neure network bnn,aistudio公开项目 复现效果不好

论文复现赛&#xff1a;贝叶斯神经网络 - 飞桨AI Studio星河社区 https://github.com/hrdwsong/BayesianCNN-Paddle 论文复现&#xff1a;Weight Uncertainty in Neural Networks 本项目复现时遇到一个比较大的问题&#xff0c;用pytorch顺利跑通源代码后&#xff0c;修改至pad…

【Python报错已解决】 AttributeError: ‘move_to‘ requires a WebElement

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一&#xff1a;检查元素选择器2.2 方法…

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文&#xff5c;华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节&#xff0c;Flexus X实例的促销力度非常大&#xff0c;特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求&#xff0c;一定…

一款支持同一个屏幕界面同时播放多个视频的视频播放软件

GridPlayer 是一款基于 VLC 的免费开源跨平台多视频同步播放工具&#xff0c;支持在一块屏幕上同时播放多个视频。其主要功能包括&#xff1a; 多视频播放&#xff1a;用户可以在一个窗口中同时播放任意数量的视频&#xff0c;数量仅受硬件性能限制。支持多种格式和流媒体&…

java实现,PDF转换为TIF

目录 ■JDK版本 ■java代码・实现效果 ■POM引用 ■之前TIF相关的问题&#xff08;两张TIF合并&#xff09; ■对于成果物TIF&#xff0c;需要考虑的点 ■问题 ■问题1&#xff1a;无法生成TIF&#xff0c;已解决 ■问题2&#xff1a;生成的TIF过大&#xff0c;已解决 …

vue3 自定义指令 directive

1、官方说明&#xff1a;https://cn.vuejs.org/guide/reusability/custom-directives 除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外&#xff0c;Vue 还允许你注册自定义的指令 (Custom Directives)。 我们已经介绍了两种在 Vue 中重用代码的方式&#xff1a;组件和…

QT 编译报错:C3861: ‘tr‘ identifier not found

问题&#xff1a; QT 编译报错&#xff1a;C3861&#xff1a; ‘tr’ identifier not found 原因 使用tr的地方所在的类没有继承自 QObject 类 或者在不在某一类中&#xff0c; 解决方案 就直接用类名引用 &#xff1a;QObject::tr( )

ApacheKafka中的设计

文章目录 1、介绍1_Kafka&MQ场景2_Kafka 架构剖析3_分区&日志4_生产者&消费者组5_核心概念总结6_顺写&mmap7_Kafka的数据存储形式 2、Kafka的数据同步机制1_高水位&#xff08;High Watermark&#xff09;2_LEO3_高水位更新机制4_副本同步机制解析5_消息丢失问…

matplotlib中文乱码问题

在使用Matplotlib进行数据可视化的过程中&#xff0c;经常会遇到中文乱码的问题。显示乱码是由于编码问题导致的&#xff0c;而matplotlib 默认使用ASCII 编码&#xff0c;但是当使用pyplot时&#xff0c;是支持unicode编码的&#xff0c;只是默认字体是英文字体&#xff0c;导…

GraphPad Prism 10 for Mac/Win:高效统计分析与精美绘图的科学利器

GraphPad Prism 10 是一款专为科研工作者设计的强大统计分析与绘图软件&#xff0c;无论是Mac还是Windows用户&#xff0c;都能享受到其带来的便捷与高效。该软件广泛应用于生物医学研究、实验设计和数据分析领域&#xff0c;以其直观的操作界面、丰富的统计方法和多样化的图表…

【HuggingFace Transformers】OpenAIGPTModel源码解析

OpenAIGPTModel源码解析 1. GPT 介绍2. OpenAIGPTModel类 源码解析 说到ChatGPT&#xff0c;大家可能都使用过吧。2022年&#xff0c;ChatGPT的推出引发了广泛的关注和讨论。这款对话生成模型不仅具备了强大的语言理解和生成能力&#xff0c;还能进行非常自然的对话&#xff0c…

MapSet之二叉搜索树

系列文章&#xff1a; 1. 先导片--Map&Set之二叉搜索树 2. Map&Set之相关概念 目录 前言 1.二叉搜索树 1.1 定义 1.2 操作-查找 1.3 操作-新增 1.4 操作-删除(难点) 1.5 总体实现代码 1.6 性能分析 前言 TreeMap 和 TreeSet 是 Java 中基于搜索树实现的 M…

图形语言传输格式glTF和三维瓦片数据3Dtiles(b3dm、pnts)学习

文章目录 一、3DTiles二、b3dm三、glTF1.glTF 3D模型格式有两种2.glTF 场景描述结构和坐标系3.glTF的索引访问与ID4.glTF asset5.glTF的JSON结构scenesscene.nodes nodesnodes.children transformations对外部数据的引用buffers 原始二进制数据块&#xff0c;没有固有的结构或含…

表单项标签简单学习

目录 1. 单选框 radio​编辑​编辑​编辑​编辑 2. 复选框 checkbox ​编辑​编辑​编辑 3. 隐藏域 hidden 4. 多行文本框 textarea​编辑​编辑 5. 下拉框 select​编辑​编辑 6. 选择头像​编辑​编辑 <!DOCTYPE html> <html lang"en"> <head&…

自用NAS系列1-设备

拾光坞 拾光坞多账号绑定青龙面板SMBWebdav小雅alist下载到NASDocker安装迅雷功能利用qBittorrentEEJackett打造一站式下载工具安装jackett插件 外网访问内网拾光客户端拾光穿透公网ipv6路由器配置ipv6拾光坞公网验证拾光坞域名验证 拾光坞 多账号绑定 手机注册拾光坞账号&am…