数据瀑布图升级(自备)

news2024/11/25 23:17:07

目录

数据整理

初级绘图

升级细节

绘制点图添加曲线和特征筛选-CSDN博客

肿瘤免疫反应瀑布图(源于The Miller Lab)_肿瘤瀑布图-CSDN博客

数据整理
rm(list = ls())
library(ggplot2)
library(dplyr)
library(ggrepel)##防止标签重叠
#模拟数据
data <- mtcars##数据查看
data1 <- data[order(data$mpg),]#进行排序
data1$ID <- paste0("",1:nrow(data1))##添加排序的ID
data2 <- data1[,c(1,12)]#[1] "mpg" "ID" #注意需要转换为数值型
data3 <- apply(data2,2,as.numeric) #转化为数值型
rownames(data3) <- rownames(data2)
data3 <- as.data.frame(data3)
data3$name <- rownames(data3)#进行需要显示标签的单独列整理
data3[1:5,]
data4 <- data3[c(6:27),]
data4$name <- ""
data5 <- data3[c(1:5,28:32),]
data6 <- rbind(data4,data5)
data6 <- data6[order(data6$ID),]##将6-27行的name 变为空值
> head(data6)
                     mpg ID                name grou
Cadillac Fleetwood  10.4  1  Cadillac Fleetwood    1
Lincoln Continental 10.4  2 Lincoln Continental    1
Camaro Z28          13.3  3          Camaro Z28    1
Duster 360          14.3  4          Duster 360    1
Chrysler Imperial   14.7  5   Chrysler Imperial    1
Maserati Bora       15.0  6  

初级绘图
##设置颜色分组##
data6$grou <- c(rep(c("1","2","3"),c(5,22,5)))##设置分组
data6$grou <- as.factor(data6$grou)
P6 <- ggplot(data6,aes(x = ID, y = mpg,fill = grou)) +#添加分组设置
  geom_point()+
  #geom_text_repel(aes(label = name), size = 3)
  geom_label_repel(aes(label = name), size = 3)+#生成带边框的数据
  geom_smooth(method = "loess")+##生成拟合曲线"lm"
  theme_bw() + theme(panel.grid=element_blank())##去除背景和网格线

P6
dev.off()
####################################################

注意:ggrepel::geom_label_repel()函数有个参数是max.overlaps,作用是把高度重叠的标签去掉, 默认10,
自己改大。
geom_label_repel(aes(label = name), size = 3,
max.overlaps = getOption("ggrepel.max.overlaps", default = 20))#生成带边框的数据 

升级细节
#添加相关线条及坐标系的设置
P1 <- ggplot(data6,aes(x = ID, y = mpg,fill = grou)) +#添加分组设置
  geom_point()+
  #geom_text_repel(aes(label = name), size = 3)+#没有边框
  geom_label_repel(aes(label = name), size = 3)+#生成带边框的数据
  geom_smooth(method = "loess")+##生成拟合曲线"lm"
  geom_hline(yintercept=c(0,40),linetype=2,size=0.25)+ #设置y轴坐标
  geom_hline(yintercept = c(20),linetype=1,size=0.5)+ #设置y轴的0刻度线(也就是Y轴的横线)
  geom_vline(xintercept = c(16),linetype=2,size=0.5)+ #1 表示实线,2为虚线
  theme_bw() + theme(panel.grid=element_blank())##去除背景和网格线
P1
dev.off()

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

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

相关文章

Linux-DNS域名解析服务01

BIND 域名服务基础 1、DNS&#xff08;Domain Name System&#xff09;系统的作用及类型 整个 Internet 大家庭中连接了数以亿计的服务器、个人主机&#xff0c;其中大部分的网站、邮件等服务器都使用了域名形式的地址&#xff0c;如 www.google.com、mail.163.com 等。很显然…

Vue02-第一个Vue程序

第一个Vue程序 1、什么是MVVM MVVM&#xff08;Model-View-ViewModel&#xff09;是一种软件设计模式&#xff0c;由微软WPF&#xff08;用于替代WinForm&#xff0c;以前就是用这个技术开发桌面应用程序的&#xff09;和Silverlight&#xff08;类似于Java Applet&#xff0…

Windows 安装 java 环境

搭建java开发环境 java的产品叫JDK&#xff08;java开发者工具包&#xff09;,必须安装JDK才能使用Java。 一、下载——java下载网址 二、安装 直接全部下一步就行&#xff0c;&#xff08;安装路径可以更换一下&#xff09;。 配置JAVA_HOME环境变量&#xff0c; 安装完成后…

css-Echarts图表柱状图,X轴横坐标值显示不完全问题

1.问题 在Echarts图表中当横坐标数值过多&#xff0c;或者数值过长时会导致部分横坐标不显示。数据量少或简单会默认显示完全&#xff0c;当放大时会导致部分横坐标隐藏。 更改第一个Mon字段名 会发现偶数横坐标显示隐藏&#xff1b; 2.解决方法 2.1 在x横坐标中添加interval…

办理无区域名称公司核名流程和条件及时间说明

无行政区划公司是指公司名称中不带有对应的行政区划&#xff0c;经营上不受地方限制。其名称需要通过国家工商总局核名&#xff0c;核名成功后会颁发《名称核准通知书》。之后便可以进行印章制作、银行开户等流程。详情致电咨询我或者来公司面谈。 公司国家局核名的步骤包括&am…

Node.js版本管理工具-NVM

在开发 Node.js 项目时&#xff0c;经常会遇到需要切换不同版本的 Node.js 的情况。为了方便管理和切换各个版本&#xff0c;我们可以使用一些 Node.js 版本管理工具。 Node Version Manager&#xff1a;简称NVM&#xff0c;最流行的 Node.js 版本管理工具之一。它允许我们在同…

AI大模型落地应用场景:LLM训练性能基准测试

随着 ChatGPT 的现象级走红&#xff0c;引领了AI大模型时代的变革&#xff0c;从而导致 AI 算力日益紧缺。与此同时&#xff0c;中美贸易战以及美国对华进行AI芯片相关的制裁导致 AI 算力的国产化适配势在必行。之前也分享过一些国产 AI 芯片、使用国产 AI 框架 Mindformers 基…

工业物联网关为智能制造业提供哪些支撑?天拓四方

随着科技的飞速发展&#xff0c;智能制造业已成为工业领域的转型方向。在这一转变中&#xff0c;工业物联网关发挥着至关重要的作用。作为连接物理世界与数字世界的桥梁&#xff0c;工业物联网关不仅实现了设备与设备、设备与云平台之间的互联互通&#xff0c;更通过实时数据采…

post为什么会发送两次请求详解

文章目录 导文跨域请求的预检复杂请求的定义服务器响应预检请求总结 导文 在Web开发中&#xff0c;开发者可能会遇到POST请求被发送了两次的情况&#xff0c;如下图&#xff1a; 尤其是在处理跨域请求时。这种现象可能让开发者感到困惑&#xff0c;但实际上它是浏览器安全机制…

Linux安装MySQL以及远程连接

1、Linux安装MySQL 1.1、准备解压包 MySQL5.x解压包 提取码&#xff1a;9y7n 1.2、通过rpm脚本安装 切记安装顺序&#xff1a;common --> libs --> client --> server 因为它们之间存在依赖关系&#xff0c;所以务必按照顺序安装 安装前请确保当前目录/文…

金融科技行业的融资趋势、投资者关注及未来预测

一、金融科技行业的融资趋势 金融科技行业的融资趋势近年来展现出强劲的增长势头&#xff0c;具体表现在以下几个方面&#xff1a; 融资规模持续扩大&#xff1a; 根据《全球金融科技投融资趋势报告(2023年上半年)》&#xff0c;2023年上半年全球金融科技行业投融资事件总次数…

防泄密解决方案

防泄密解决方案是一个系统性的策略&#xff0c;旨在保护敏感信息不被非法获取、泄露或滥用。以下是一个结构清晰、分点表示的防泄密解决方案&#xff0c;结合了参考文章中的关键信息和建议&#xff1a; 一、策略制定与政策明确 明确数据分类&#xff1a;将数据分为公开、内部…

【区块链】POS(Proof of Stake)权益证明算法深度解析

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 POS&#xff08;Proof of Stake&#xff09;权益证明算法深度解析引言1. POS基本…

【方法】如何隐藏和保护Excel表格中的敏感数据?

在工作中&#xff0c;很多人经常需要处理包含敏感信息的Excel表格。 为了确保这些数据的安全性&#xff0c;我们可以通过隐藏单元格、行和列&#xff0c;以及设置密码保护工作表的方法&#xff0c;来保护数据&#xff0c;下面一起来看看吧&#xff01; 一、隐藏数据&#xff1…

微信商城源码带分销功能 支持微信小程序+公众号端 含详细图文搭建教程

分享一款微商城源码系统&#xff0c;不仅支持微信公众号端和小程序端二合一管理&#xff0c;带分销机制&#xff0c;集合了市面上电商系统的功能&#xff0c;并增加了多项全新特色功能&#xff0c;如多商户商家入驻、区域代理、收银台、互动直播等&#xff0c;为商家提供了全方…

Go——channel

channel是Go在语言层面提供的协程间的通信方式。通过channel我们可以实现多个协程之间的通信&#xff0c;并对协程进行并发控制。 使用注意&#xff1a; 管道没有缓冲区时&#xff0c;从管道中读取数据会阻塞&#xff0c;直到有协程向管道中写入数据。类似地&#xff0c;向管道…

动手学深度学习(Pytorch版)代码实践 -深度学习基础-13Kaggle竞赛:2020加州房价预测

13Kaggle竞赛&#xff1a;2020加州房价预测 # 导入所需的库 import numpy as np import pandas as pd import torch import hashlib import os import tarfile import zipfile import requests from torch import nn from d2l import torch as d2l# 读取训练和测试数据 train_…

哈尔滨等保测评流程

哈尔滨的等保测评程序是一项严格的、系统化的检测程序&#xff0c;其目的在于保证信息系统的安全、稳定。下面详细介绍了这个过程&#xff1a; 一、引言 随着信息技术的飞速发展&#xff0c;信息系统在各行各业中的应用越来越广泛&#xff0c;信息安全问题也日益凸显。为了保障…

使用CSS常见问题解答卡片

常见问题解答卡片 效果展示 CSS 知识点 CSS 选择器的使用background 渐变背景色运用CSS 综合知识运用 页面整体布局 <div class"container"><h1>经常问的问题</h1><!-- 这里只是展示一个项目 --><div class"tab"><in…

API 设计技巧:基础知识与实践的方法

在这篇深入探讨中&#xff0c;我们将从基础开始&#xff0c;逐步介绍 API 设计&#xff0c;并探讨定义卓越API的最佳实践。 作为一名开发者&#xff0c;你可能已经熟悉了许多这些概念&#xff0c;但我将提供详细解释&#xff0c;以加深你的理解。 API 设计&#xff1a;电子商…