数据可视化|二维统计直方图和三维统计分布图
时间:2022-07-22
本文章向大家介绍数据可视化|二维统计直方图和三维统计分布图,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
二维统计直方图的变量x和y的类型必须是数值型。在x和y轴找到各自的最大值和最小值,使得测定的所有数据都包含在【Xmin,Xmax】,【Ymin,Ymax】之间。再把X和Y的区间分成若干个小区间,统计测量的数据值出现在各个小区间的频数,就是相当于图中每个方块bin的颜色就是测定数据值出现在该位置区间的频数。
随机生成数据
#构建数据框
x1<-rnorm(mean=2.4,6200)
y1<-rnorm(mean=4.6,6200)
x2<-rnorm(mean=3.0,6200)
y2<-rnorm(mean=5.5,6200)
data<-data.frame(x=c(x1,x2),y=c(y1,y2))
颜色搭配
颜色搭配是根据RColorBrewer包的主题方案进行的,特别喜欢RdYlBu双色渐变系的颜色,比较喜欢该盘的第1-11号红蓝渐变的色系。
> colormap<-rev(brewer.pal(11,'RdYlBu'))
> colormap
[1] "#313695" "#4575B4" "#74ADD1" "#ABD9E9" "#E0F3F8" "#FFFFBF" "#FEE090" "#FDAE61" "#F46D43"
[10] "#D73027" "#A50026"
绘图-二维统计直方图
#每个方块是六边形的
ggplot(data,aes(x,y))+geom_hex(bins=30,na.rm=TRUE)+scale_fill_gradientn(colours=colormap)+theme_classic()
#每个方块是方块形的
三维统计分布图
library(plot3D)
library(gplots)
data_hist<-hist2d(data$x,data$y,nbins=30)
> data_hist
----------------------------
2-D Histogram Object
----------------------------
Call: hist2d(x = data$x, y = data$y, nbins = 30)
Number of data points: 12400
Number of grid bins: 30 x 30
X range: ( -1.319707 , 6.575825 )
Y range: ( 1.156832 , 8.862895 )
>hist3D(x=data_hist$x,y=data_hist$y,z=data_hist$counts,col=colormap,border="black",alpha=0.9,lwd=0.4,xlab="x",ylab="y",zlab="count",clab="count",ticktype="detailed",bty="f",box=TRUE,theta=45,phi=30,d=5)
- Scrapy爬虫轻松抓取网站数据(以bbs为例,提供源码)
- CSS3实现loading图
- Netty断线重连
- 使用Spring访问Mongodb的方法大全——Spring Data MongoDB查询指南
- gitbook安装与使用,并使用docker部署
- 【专业技术】在C/C++程序中打印当前函数调用栈
- 关于定位position的相关知识
- Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境
- 段落首字下沉
- 【编程基础】C语言指针、引用和取值
- Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目
- JavaScript中的this详解
- 使用SpringBoot开发REST服务
- CSS3 -webkit-filter 滤镜
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 大点干!早点散----------深入剖析Redis集群原理与实验
- 微信群总是有人发广告?看我用Python写一个自动化机器人消灭他!
- 苏宁基于 ClickHouse 的大数据全链路监控实践
- CORS Cross Origin Resource Sharing
- 从0开始做播放器-第二季-第2章-Android NDK 工程的建立和 JNI 的基本用法
- 记一次线上问题排查-maven父子结构依赖所遇到的坑
- 『技术随手学』解决 pip conda install 网络故障中断
- boost asio
- 7.SwrContext音频重采样使用
- 8.ffmpeg-基础常用知识
- 9.下载ffmpeg、使QT支持同时编译32位和64位
- 10.QT-QAudioOutput类使用
- 11.QT-ffmpeg+QAudioOutput实现音频播放器
- Spring JPA 自定义删改
- LeetCode-28.实现 strStr()