数据可视化(八)堆叠图,双y轴,热力图

1.双y轴绘制

#双Y轴可视化数据分析图表
#add_subplot()
df=pd.read_excel('mrbook.xlsx')
x=[i for i in range(1,7)]
y1=df['销量']
y2=df['rate']
#用来正常显示负号
plt.rcParams['axes.unicode_minus']=False
fig=plt.figure()
ax1=fig.add_subplot(1,1,1)#一行一列,第一个区域
plt.title('销量情况对比')
plt.xticks(x,[str(i)+'月' for i in range(1,7)])
ax1.bar(x,y1)
#设置y轴标签
ax1.set_ylabel('销售(册)')
#共享x轴,添加一条y轴坐标
ax2=ax1.twinx()
#绘制折线图
ax2.plot(x,y2,color='black',linestyle='--',marker='o',linewidth=2)
#设置y轴标签
ax2.set_ylabel('增长率')
#添加文本
for a,b in zip(x,y2):plt.text(a,b+0.2,'%.2f'%b,ha='center',va='bottom',fontsize=10,color='r')
plt.show()

2.堆叠柱形图 

 

 类别中,有不同的类别分类

import matplotlib.pyplot as plt
import pandas as pd
import openpyxl
import random
import numpy as np
import seaborn as sns#seaborn绘制常用图表#堆叠柱形图
sns.set_style('darkgrid')
df=pd.read_excel('mrtb_data.xlsx')
#根据类别分组,计算每组中,卖家实际支付金额的总和
df1=df.groupby(['类别'])['买家实际支付金额'].sum()
#将消费总金额转换成列表
num=np.array(list(df1))
#根据类别和性别分组,统计不同买家的人数,并重置索引
df2=df.groupby(['类别','性别'])['买家会员名'].count().reset_index()
#提取出男性的数据
men_df=df2[df2['性别']=='男']
women_df=df2[df2['性别']=='女']
#将男性,女性买家数据转换成列表
men_lst=list(men_df['买家会员名'])
women_lst=list(women_df['买家会员名'])
#计算男性用户比例
ratio=np.array(men_lst)/(np.array(men_lst)+np.array(women_lst))
#设置输出精度
np.set_printoptions(precision=2)
#计算男女生的消费金额
men=num*ratio
women=num*(1-ratio)
#删除类别中重复数据
df3=df2.drop_duplicates(['类别'])
#转换成列表
name=list(df3['类别'])#绘制图表
width=0.5
#产生[0,1,2,3,4,,,,]
x=np.arange(len(name))
#男性柱状图
plt.bar(x,men,width=width,color='slateblue',label='男性用户')
#女性
plt.bar(x,women,width=width,color='orange',label='女性用户',bottom=men)
#设置标签
plt.xlabel('消费类别')
plt.ylabel('男女分布')
plt.xticks(x,name,rotation=20)
#在图标上显示数字
for a,b in zip(x,men):plt.text(a,b,'%.0f'%b,ha='center',va='top',fontsize=12)
for a,b,c in zip(x,women,men):plt.text(a,b+c,'%.0f'%b,ha='center',va='bottom',fontsize=12)
#添加图例
plt.legend()
plt.show()

 3.热力图

 

#热力图
sns.set_style('darkgrid')df=pd.read_csv('data.csv',encoding='gb2312')
plt.figure(figsize=(6,6))
seris=df['中奖号码'].str.split('  ',expand=True)
#对每一位中奖号码出现的次数,即每一列中不同数字出现的次数
df1=df.groupby(seris[0]).size()#第一列
df2=df.groupby(seris[1]).size()#第二列
df3=df.groupby(seris[2]).size()#第三列
df4=df.groupby(seris[3]).size()#第一列
df5=df.groupby(seris[4]).size()#第一列
df6=df.groupby(seris[5]).size()#第一列
df7=df.groupby(seris[6]).size()#第一列
#横向合并
data=pd.concat([df1,df2,df3,df4,df5,df6,df7],axis=1,sort=True)
#空值处理,将nan替换为0,代表一次都没有出现
data=data.fillna(0)
#浮点数转换成整数
data=data.round(0).astype(int)#绘制热力图
plt.title('统计2014~2019年双色球中奖数字热力图')
#绘制annot数值是否显示
#fmt参数控制数据的格式,lw表示线的宽度
sns.heatmap(data,annot=True,fmt='d',lw=0.5)
#设置x与y轴标签
plt.xlabel('中奖号码位数')
plt.ylabel('双色球数字')
plt.xticks(range(0,7),['第'+str(i)+'位' for i in range(1,8)],ha='left')
plt.show()

 

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

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

相关文章

matlab智能算法程序包89套最新高清录制!matlab专题系列!

关于我为什么要做代码分享这件事? 助力科研旅程! 面对茫茫多的文献,想复现却不知从何做起,我们通过打包成品代码,将过程完善,让您可以拿到一手的复现过程以及资料,从而在此基础上,照…

Eclipse如何自动添加作者、日期等注释

一、创建类时自动添加注释 1、Window->Preferences 2、Java->Code Syle->Code Templates->Code->New Java files->Edit->要添加的注释->Apply 二、选中要添加的类或者方法通过AltShiftJ快捷键添加 1、Window->Preferences 2、Java->Code Syle…

java+springboot+mysql校园通讯录管理系统

项目介绍: 使用javaspringbootmysql开发的校园通讯录管理系统,系统包含超级管理员、管理员、用户角色,功能如下: 超级管理员:管理员管理;部门管理;用户管理;留言管理;公…

sqlserver 数据库显示 正在还原

问题描述之前不太会搞差异备份的恢复,然后恢复发生了失败之后这个数据库一直处于(正在还原……状态 并且出现数据库无法访问的情况 尝试解决1执行查询Restore Database 数据库名称 with Recovery然后不太能行 2执行查询Restore Database 数据库名称 with NoRecovery…

springboot+jpa+mysql电子数码商城含后台管理源码

#开发技术 #前端 bootstarp框架 html页面 #后端技术 SpringBoot SpringMvc jpa #开发工具 eclipse或者idea jdk1.8 mysql5点几版本 maven环境 maven3.5 前端地址::http://localhost:8080/mall 后台地址&#x…

Lombok 中 @EqualsAndHashCode注解的使用

Lombok 中 EqualsAndHashCode注解的使用 EqualsAndHashCode注解的作用 EqualsAndHashCode注解的作用就是自动实现model类的equals方法和hashcode方法。我们在实际工作中经常会使用lombok来简化我们的开发,例如我们可以在定义的model类上添加Data注解,从…

Flowable-结束事件-取消结束事件

目录 定义图形标记XML内容使用示例视频教程 定义 取消结束事件只能与 BPMN 事务子流程结合使用,它可以取消一个事务子流程的执行,同时 也只能在子流程中执行。实际应用中,会把取消事件,事务子流程,补偿事件一起用。当…

powershell几句话设置环境变量

设置环境变量比较繁琐,现在用这段话,在powershell中就可以轻松完成。 $existingPath [Environment]::GetEnvironmentVariable("Path", "Machine") $newPath "C:\Your\Path\Here"if ($existingPath -split ";"…

Detecting Everything in the Open World: Towards Universal Object Detection

1. 论文简介 论文题目《Detecting Everything in the Open World: Towards Universal Object Detection》发表情况,CVPR2023[论文地址][https://arxiv.org/pdf/2303.11749.pdf][代码地址][https://github.com/zhenyuw16/UniDetector] 2.背景与摘要 本文旨在解决通…

SpringBoot3之Web编程

标签:Rest.拦截器.swagger.测试; 一、简介 基于web包的依赖,SpringBoot可以快速启动一个web容器,简化项目的开发; 在web开发中又涉及如下几个功能点: 拦截器:可以让接口被访问之前,将请求拦截…

实践分享:小程序事件系统设计

微信小程序官方文档中解释说:事件是用于子组件向父组件传递数据,可以传递任意数据。 小程序开发中的事件是指视图层到逻辑层的通讯方式,主要是可以将用户的行为反馈到逻辑层进行处理。事件可以绑定在组件上,当达到触发事件&#…

SolidUI社区-从开源社区角度思考苹果下架多款ChatGPT应用

文章目录 背景下架背景下架原因趋势SolidUI社区的未来规划结语如果成为贡献者 背景 随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目…

征稿 | 第三届粤港澳大湾区人工智能与大数据论坛(AIBDF 2023)

第三届粤港澳大湾区人工智能与大数据论坛(AIBDF 2023) 2023 3rd Guangdong-Hong Kong-Macao Greater Bay Area Artificial Intelligence And Big Data Forum 本次高端论坛围绕建设国家数字经济创新发展试验区进行选题。全面贯彻落实党的二十大精神&…

分析一下vue3下会造成响应式丢失的情况

前言 在我们从vue2过渡到vue3的时候,对于数据响应式的变化其实是懵懵懂懂的。从以往直接在data函数里面定义变量到每一次都要使用ref/reactive时,是有些不适应的。但问题不大,毕竟在大前端时代中,如果不及时跟上时代的步伐&#…

WEB集群——负载均衡集群

目录 一、 LVS-DR 群集。 1、LVS-DR工作原理 2、LVS-DR模式的特点 3、部署LVS-DR集群 3.1 配置负载调度器(192.168.186.100) 3.2 第一台web节点服务器(192.168.186.103) 3.3 第二台web节点服务器(192.168.186.…

LeetCode96. 不同的二叉搜索树

96. 不同的二叉搜索树 文章目录 [96. 不同的二叉搜索树](https://leetcode.cn/problems/unique-binary-search-trees/)一、题目二、题解 一、题目 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的…

喆啡酒店十周年丨啡越时间限,ALL BY 10VE!

啡越时光热爱为伴 十年前,秉持对咖啡馆文化及复古风格的喜爱,喆啡酒店创造全新的Coffetel品类,将充满「温暖」「愉悦」「咖啡香」的格调体验带给消费者,成为无数人「旅途中的啡凡存在」。 十年间,喆啡酒店以热爱化为…

Dev控件 Gridcontrol,gridview 实现多选功能

在网上看了好多实现dev控件GridControl多选功能的方法,都很麻烦,其实GridControl有一个自带的实现多选功能的控件,很简单。 实现效果如下 无需代码代码,使用GridControl中自带的多选功能,在界面直接设置即可 1.找到要…

Redis的安装方法与基本操作

目录 前言 一、REDIS概述 二、REDIS安装 1、编译安装 2.yum安装 三、Redis的目录结构 四、基础命令解析 五、在一台服务器上启动多个redis 六、数据库的基本操作 (一)登录数据库 (二)基础命令 七、Redis持久化 (一&…

84. 柱状图中最大的矩形

题目描述 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入:heights [2,1,5,6,2,3] 输出:10 解释:最…