技术解析|如何绘制密度分布图
点击上方『早起python』关注早起
和我一起,成为更好的自己
前言
在前几天对数据分析师与算法工程师进行岗位对比分析的文章中,我们使用了密度分布图和箱线图对薪资水平与学历对薪资的影响进行了分析,那么早起就对这两种图形的绘制方法进行解析,也借着这个机会讲一下我最喜欢的绘图包:ggplot2
密度分布图
在频率分布直方图中,当样本容量充分放大时,图中的组距就会充分缩短,这时图中的阶梯折线就会演变成一条光滑的曲线,这条曲线就称为总体的密度分布曲线。这条曲线排除了由于取样不同和测量不准所带来的误差,能够精确地反映总体的分布规律,密度分布图其实就是密度分布曲线的填充。
原文的的密度分布图的绘制软件为R,为啥不用Python?研究了一圈绘制出来图形都不够好看那么具体怎么画呢?首先把数据整理成这样????
一列是职位名称一列是对应的薪资,然后启动R读取数据并修改两个列名
#读取数据
data = read.csv('gongzi.csv')
#修改列名
names(data)[1:2]<-c("professional","salary")
接着使用下面的代码加载ggplot2,并设置x轴,此时图形长这样????
接下来我们使用下面代码添加密度曲线
p + geom_density()
此时虽然整出来密度曲线,但是并没有根据两个岗位进行区分,因此我们使用下面代码区分开两个岗位,注意里面函数里面color就是指定岗位
p + geom_density(aes(color = professional))
OK,成功对不同岗位进行了区分,只剩下最后一步填充,并且有没有发现坐标轴是以科学计数法呈现的,我们也对这一块处理一下
options(scipen=200)
p + geom_density(aes(fill = professional), alpha=0.4) + xlim(0,80000)
options(scipen=200)就是用来处理坐标轴的科学计数法,并且我们的x轴不需要那么大的范围,因此使用xlim(0,80000)来调整,这样我们就做出了漂亮的密度分布图
为了读者可以从图中读到更多信息,我们再将两个岗位的平均薪资线添加进去,首先计算两个岗位的平均薪资并创建为dataframe
接着使用下面一行命令即可
p + geom_density(aes(fill = professional), alpha=0.4) + xlim(0,80000) + geom_vline(data = mean, aes(xintercept = salary,color=professional),linetype="dashed")
来看看最终效果,学会了吗
结束语
以上就是使用R绘制漂亮的密度分布图过程,我已将原始数据放在公众号后台回复招聘获取,感兴趣的读者可以利用原始数据自己使用python进行处理得到我们需要的数据格式再绘制,最后留一个问题,怎样绘制学历关于薪资的箱线图?怎样实现箱子大小根据不同样本量而变化?且看下回推文。
往期内容(????猛戳可查看)
热门文章:
➤情人节网站➤岗位对比分析➤爬取网易云音乐
➤爬取钉钉评价➤自动追踪快递➤Python画樱花树
➤Python斗地主➤Matplotlib神器➤全球疫情动态图
数据分析:
➤统计检验➤数据分析报告➤数据分析技巧
➤数据可视化➤Pandas学习➤缺失值处理
➤Python库整理➤数据降维➤疫情数据汇总
记得点个在看支持下~????
技术解析|如何绘制密度分布图相关推荐
- 聚类中心-最邻近交叉口距离密度分布图
import matplotlib.pyplot as plt from matplotlib.pyplot import MultipleLocator#从pyplot导入MultipleLocat ...
- UWP 手绘视频创作工具技术分享系列 - 文字的解析和绘制
本篇作为技术分享系列的第二篇,详细讲一下文字的解析和绘制,这部分功能的研究和最终实现由团队共同完成,目前还在寻找更理想的实现方式. 首先看一下文字绘制在手绘视频中的应用场景 文字是手绘视频中很重要的表 ...
- 城市三维地理信息可视化 技术解析
一.三维地理信息系统分析空间数据的科学工具 三维地理信息系统,即三维GIS,是对包括大气层在内的地球表层,与地理有关的数据进行采集.储存.管理.运算.分析.显示和描述的技术系统. 基于三维GIS将现实 ...
- 虚幻四中怎么保持导入模型坐标_[CG分享]|虚幻引擎5 技术解析
今天还是跟大家聊一聊最近很火的虚拟引擎,Epic Game公司的虚幻引擎5惊艳了全球游戏业,其Nanite虚拟微多边形几何技术和Lumen动态全局光照技术带来了产业界的飞跃.Nanite虚拟几何技术的 ...
- 现代前端技术解析读书笔记
思维导图链接:http://v3.processon.com/view/link/5f7ec592762131119546c899 取材自<现代前端技术解析> 本文只是个人读书笔记,更多详 ...
- 原生革命--跨平台开发技术解析
这篇文章,我将着重分析当前主流跨平台开发解决方案(偏架构)如Flutter.RN.Weex.Hybrid App,并对新晋跨端解决方案Fusion和Chameleon做一些分析,在传统原生开发不断被唱 ...
- 应用计算机散热的原理是什么,计算机散热的原理与技术解析[中].doc
散热的原理与技术解析-中(1) 在本文的第一部分,我们主要探讨了如何快速将热量带离热源,主要涉及热传递三种基本方式中的热传导方面.但对一个完整的散热器而言,这是远远不够的,因为这样只是将热量转移到散热 ...
- python 密度图_Python-Matplotlib做二维密度分布图
之前一直想尝试着用Matplotlib绘制计算结果中的二维密度分布图,这样即省去了许多数据处理的麻烦,也方便直接在Linux系统中观察计算的结果.但对Numpy和Maltplotlib的熟练程度还不够 ...
- 现代前端技术解析:Web前端技术基础
最近几年,越来越多的人投入到前端大军中:时至至今,前端工程师的数量仍然不能满足企业的发展需求:与此同时,互联网应用场景的复杂化提高了对前端工程师能力的要求,一部分初期前端工程师并不能胜任企业的工作 ...
最新文章
- python3 rsa加密_【Python】Python3 实现 JS 中 RSA 加密的 NoPadding 模式
- 存储过程里面的CASE,WHEN,THEN的用法
- CSS——如何清除浮动
- JAVA应用开发MQ实战最佳实践——Series2:消息队列RocketMQ性能测试案例
- mysql查询时传入中文时的乱码问题
- 【机械仿真】基于matlab GUI 汽车悬架(钢板弹簧+减震器)设计【含Matlab源码 1631期】
- 如何在Mac上自定义文件和文件夹图标?看这里
- MFC无边框窗体设置窗口圆角,并且绘制边框
- INTERVAL 用法 mysql
- Java各个版本的JDK下载地址你值得拥有
- 如何维持手机电池寿命_教你如何让自己的手机电池寿命多用两年
- CSS面试须知--显示模式及三大特性
- 大概说一下ProFTPd配置参数。
- C++11之正则表达式(regex_match、regex_search、regex_replace)
- python3-多线程
- 【Rust日报】2022-10-09 出于什么原因,您应该选择 rust 进行后端开发而不是其他选项?...
- Imagination赢得著名调研机构Linley Group 颁发的2021年度分析师选择奖
- 【Windows(shell:startup)】个性化开机自启动目录与途径方法
- ssh连接工具--MobaXterm
- 外贸管理软件CRM、ERP对外贸企业有什么用?