首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用R Shiny中的‘parcoord’包将平行坐标图中未选中的轨迹灰显?

在使用R Shiny中的parcoord包绘制平行坐标图时,可以通过一些技巧来实现未选中轨迹的灰显效果。以下是具体的步骤和示例代码:

基础概念

平行坐标图(Parallel Coordinates Plot)是一种用于展示多维数据集的可视化工具。每个维度都表示为一条垂直线,数据点通过连接这些垂直线上的点来表示。

相关优势

  • 多维数据展示:能够同时展示多个维度的数据。
  • 易于比较:通过观察线条的交叉情况,可以直观地比较不同数据点在不同维度上的表现。
  • 交互性:可以通过交互操作(如选择、高亮)来突出显示特定的数据点或轨迹。

应用场景

  • 数据探索:帮助用户发现数据中的模式和异常值。
  • 特征分析:用于分析不同特征对目标变量的影响。
  • 决策支持:在复杂的决策过程中提供可视化支持。

示例代码

以下是一个使用R Shiny和parcoord包实现未选中轨迹灰显的示例代码:

代码语言:txt
复制
library(shiny)
library(parcoords)

ui <- fluidPage(
  titlePanel("Parallel Coordinates Plot with Grayed-Out Unselected Trajectories"),
  sidebarLayout(
    sidebarPanel(
      checkboxGroupInput("select", "Select Trajectories:", choices = c("Trajectory 1", "Trajectory 2", "Trajectory 3"), selected = c("Trajectory 1", "Trajectory 2"))
    ),
    mainPanel(
      parcoordsOutput("plot")
    )
  )
)

server <- function(input, output) {
  data <- data.frame(
    Trajectory = rep(c("Trajectory 1", "Trajectory 2", "Trajectory 3"), each = 5),
    Dim1 = runif(15),
    Dim2 = runif(15),
    Dim3 = runif(15),
    Dim4 = runif(15)
  )
  
  output$plot <- renderParcoords({
    selected_trajectories <- input$select
    all_trajectories <- unique(data$Trajectory)
    
    # Create a color vector for the trajectories
    colors <- ifelse(all_trajectories %in% selected_trajectories, "black", "gray")
    
    parcoords(
      data,
      cols = c("Dim1", "Dim2", "Dim3", "Dim4"),
      rownames = data$Trajectory,
      colnames = c("Dim1", "Dim2", "Dim3", "Dim4"),
      alpha = 0.6,
      brushMode = "1D-axes",
      color = colors
    )
  })
}

shinyApp(ui, server)

解释

  1. UI部分:创建一个简单的Shiny应用界面,包含一个复选框组用于选择轨迹。
  2. Server部分
    • 生成示例数据。
    • 根据用户选择的轨迹,创建一个颜色向量,未选中的轨迹颜色设为灰色。
    • 使用parcoords函数绘制平行坐标图,并通过color参数应用颜色向量。

参考链接

通过这种方式,可以实现平行坐标图中未选中轨迹的灰显效果,从而提高数据可视化的交互性和可读性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

高维数据可视化必备图形-平行坐标

顶点在每一个轴上位置就对应了该对象在该维度上变量数值,比如下面的这张图。 ? 从图中我们可以看出,平行坐标图和折线图相比是非常相似的。...现在,我们要做,就是比较这150个基因在4个分组变化趋势。那么下面我们就来进行图形绘制。在这里我们用了GGallyggparcoord()函数进行绘图。具体代码如下: ? ?...话说回来,平行坐标图也有它自己缺点。那就是当数据非常庞大时,在图中曲线就会显得非常密集,使得图形显得稍有杂乱,曲线难以辨认。那么如何解决这一问题呢?...不过还有一点要跟大家强调一下,平行坐标轴描述大多是计量数据,对于定性数据或者分类变量,建议大家还是不要勉强使用平行坐标图。那么在这种情况下该用哪一种图形呢?...Published 2019 Jan 11. doi:10.1186/s12859-018-2564-9; Yu Y, Ouyang Y, Yao W. shinyCircos: an R/Shiny

2.4K10

R语言进行数据挖掘】数据探索

1、观察数据 这一章我们将会用到‘iris’(鸢尾花)数据集,这个数据集属于R自带数据,因此不需要额外加载。...使用plot()函数可以绘制两个数值变量之间散点图,如果使用with()函数就不需要在变量名之前添加‘iris$’,下面的代码设置了每种鸢尾花观测值颜色和形状。...4、拓展 这一节将会学习一些有趣图,包括3D图、热图和平行坐标图。...# 绘制平行坐标图 > library(MASS) > parcoord(iris[1:4], col=iris$Species) ?...5、图标保存到文件 在数据分析中会产生很多图片,为了能够在后面的程序中用到那些图表,需要将它们保存起来。R提供了很多保存文件函数。下面的例子就是图表保存为pdf文件。

91810
  • 基于R语言shiny网页工具开发基础系列-05

    上面是shiny团队稿件 l5-更复杂反应app 创建一个更复杂依赖R脚本和额外数据有灵魂(能反应)app 使用R脚本和数据 此篇旨在展示如何载入数据,R脚本,,用来构建app。...地区分布图使用颜色展示变量地区差异 此例,helpers.R 将会创建一个percent_map ,一个设计用于匹配counties.rds数据函数,下载 脚本将会使用maps和mapproj,...,还载入了两个library(maps)和 library(mapproj) 使用shiny也会这样调用这些函数,但是写法略有不同 source和readRDS需要文件路径,文件路径使用方式在shiny...是不一样shiny运行server函数时,会把所有文件路径起始位置视为server.R所在路径,换而言之,shiny app会把server.R所在路径作为工作目录。...构建参数值 如何放置这些设置参数代码 赶紧先自己做做吧 回顾 如今,你已经可以使用R脚本,数据集,创建复杂app了 有几个要点 对于shiny app 来说,app.R脚本所在路径就是工作目录

    1.6K20

    RShiny:响应式编程(二)响应式编程

    这是我们在 Shiny使用编程方式。 惰性 Shiny 声明式编程一个优点是它允许应用非常懒惰。Shiny 应用会尽量做最小工作以完成对结果控件所需更新。然而惰性也带来了重要问题。...响应图 Shiny 惰性有另一个重要属性。在大多数 R 代码,你可以通过从头到尾阅读代码搞懂程序执行顺序。然而这在 Shiny 是没有用,因为 Shiny 按需运行。...为了简洁,下面的图表示相同含义。 ? 我们可以使用 reactlog 绘制响应图。 ?...() 示例来于文档,见 https://rstudio.github.io/reactlog/ 响应表达式 响应图中一个重要组成是响应表达式,后续我们稍微详细地介绍,现在我们将它看作一个减少代码重复地工具即可...在简单 Shiny 应用我们很少会用到响应表达式,这里展示一个简单示例以帮助读者理解它是如何影响响应图

    2.5K20

    dyno使用教程--1个R实现59种单细胞轨迹推断分析

    在上一期《单细胞轨迹分析知多少--拟时间分析比较》我们介绍了45种单细胞轨迹推断分析软件方法在以下4个方面的比较: 1.准确性2.可扩展性3.稳定性4.可用性 得出了几项重要结论: •轨迹推断(TI...methods[1](Saelens et al., 2019)作者做了一个R--dyno为终端用户提供完整TI分析流程,dyno特点如下: 1.统一59种TI方法输入输出接口2.提供交互式指南工具...,可帮助用户选择最合适TI方法3.简化了轨迹解释和可视化,包括根据基因表达或者cluster着色4.还可以进行下游分析,例如潜在marker gene 鉴定 dyno安装 dyno是一个R,需要...:v0.0.1(R version 3.6.1)进行体验,这个R镜像安装了dyno、tidyverse及Seurat等,可以免去安装过程快速体验dyno强大,具体使用会在文章最后一节介绍。...通过选择对于推断轨迹预期以及左侧关于内存、运行时间等各项参数,guidelines为我推荐了几个TI算法组合,点击右上角Close & use关闭这个shiny页面。 ?

    6.4K43

    领导嫌弃可视化太丑?学会这10个高级炫酷图表,胜过一切技巧

    图中,X 轴表示数据维度(例如收入、支出),外围柱形分成三部分,分别用不同颜色填充,表示这个维度值三个范围。...4、桑葚图 适用场景:桑基图,是一种特定类型流图,用于描述一组值到另一组值流向。 图中延伸分支宽度对应数据流量大小,通常应用于能源、材料成分、金融等数据可视化分析。...5、路径图 适用场景:路径图是在普通可视化地图上展示路径移动轨迹,比如最常见飞机航班路径图、资金流向图等 轨迹图是经纬度数据跟踪最佳解决方案,本插件支持基于百度地图轨迹展现,可以通过类原生界面非常方便配置轨迹动画和路径...7、关系图 关系图,又称关联图,是用来分析事物之间“原因与结果”、“目的与手段”等复杂关系一种图表,它能够帮助人们从事物之间逻辑关系,寻找出解决问题办法。...13、平行坐标平行坐标图适用于高维空间,克服传统笛卡尔直角坐标系容易耗尽空间、 难以表达三维以上数据问题。

    62320

    R : Shiny|搭建单细胞数据分析云平台

    之前我们分享了许多单细胞数据分析教程cellranger拆库定量、seurat质控分析,monocle轨迹推断,R语言给单细胞数据分析带来更多可能。...那么,在数据分析进入下游之后,如何给自己研究增加更多可交付内容呢?Shiny会是一个不错选择。 ?...shiny是一个R,它可以让你很容易地直接基于R语言构建交互式web应用程序。你可以在网页上托管独立应用程序,或者将它们嵌入R Markdown文档或构建仪表盘。...建立Shiny程序 在Rstudio像新建文件一样,建立Shiny文件: ?...同时,把一个Shiny程序打包在一个人R内也越来越受到开发者喜爱,比如monocle3 就有Shiny在内。 祝大家学习愉快。

    3.5K20

    R语言优化交易系统:用平行坐标图可视化系统参数优化结果

    p=23026 在交互式平行坐标图中,有一个很好htmlwidgets例子。你可以交互式地操作平行坐标图来放大有趣观察结果。...不久前,我读到了关于系统参数优化结果可视化,使用应用程序来创建和操作回测结果。这个想法是通过改变系统参数来运行多个回测,并使用平行坐标图显示结果。...在如何优化交易系统描述了一个系统参数优化好例子。如果你只优化两个参数,三维图是一个非常好方法,但如果你有两个以上参数,该怎么做? 平行坐标就来了。...假设我们运行一个系统参数优化,改变了3个参数,并将结果存储在数据矩阵。第一列包含CAGR,第2:4列包含参数值。 比如说。...另一种方法是实现这种交互式行为,就是使用交互式平行坐标htmlwidgets一个伟大例子。 ?

    44320

    Shiny APP搭建为独立桌面可执行程序 - Deploying R shiny app as a standalone application

    那么,如果我们实现了一个精妙Shiny App,如何0成本分享给别人,且别人能够方便使用呢?...为了达到这个目的,最好结果是RShiny App转换为一个独立运行exe文件,也就是一个这样桌面应用: image.png 10065741-1d8037cb4acec453.png 对,我实现了...那么一个最为方便且易于实现思路是这样: 安装R-Portable作为开发、部署、分发R环境 在上述环境开发ShinyApp(推荐使用golem) 通过electron-quick-startR-Portable...:mod_csv_file_ui 定义模块UI,mod_csv_file_server 定义模块功能,如果要使用这个模块只需在Shiny Appapp_ui调用前者,app_server调用后者就可以了...这个环境里有我们安装好R环境、写好ShinyApp以及依赖R(其实,ShinyApp也作为安装在这个R环境了,依稀记得名叫shinyapptest)。

    5.4K41

    【最终章】R语言从入门到精通Day18:Shiny高级可视化

    换句话说,使用shiny能让你数据分析结果“表达能力”更强。...大家需要拿到后台代码才能在本地运行本例,没有安装shiny同学需要先安装并载入shiny 代码文件保存在文件夹kmeans下app.R,在R运行(*此时R路径应在app.R上一级,即和文件夹...了解了参数在ui和server function两端传递过程之后,我们就可以按照R语言一般原理数据和参数传递给绘图函数,然后图形显示在ui上了。...这也是shiny可视化相比于一般R一项优势。...shiny借鉴了很多编写网页思想和方法,从而实现了网页应用和R语言“双剑合璧”,同时它也能和Markdown、CSS、JavaScript等方法联合使用,是一种非常优秀数据可视化方法,希望能成为大家日后数据可视化新工具

    4.6K32

    R」第一个Shiny应用(一) hello world

    Shiny 是一个开源 R ,它为使用 R 构建 Web 应用提供了一个优雅有力 Web 框架。Shiny 帮助你在不需要前端知识条件下数据分析转变为可交互 Web 应用。...使用下面命令进行安装: install.packages("shiny") 然后载入当前 R 会话: library(shiny) Hello world 示例 在几种创建 Shiny 应用方式...使用 shinyApp(ui, server) 构建和启动一个 Shiny 应用。 如何运行 如果使用 RStudio: 点击文档工具栏 Run App 按钮。...含 app.R 目录传入 shiny::runApp() 。 运行后通过浏览器可以看到输出 Hello, world!。 ?...停止 运行后 R 会话会处于忙碌状态,需要用以下方式停止: RStudio 中点击工具栏停止图标。 R 控制台中键入 Ctrl + C。 关闭 Shiny 应用窗口。

    1.3K20

    如何在Ubuntu 14.04上设置Shiny Server

    介绍 Shiny是一个R,允许用户R代码转换为交互式网页。Shiny server是RStudio提供服务器,可用于托管和管理Web上Shiny应用程序。...在本指南中,我们学习如何在运行Ubuntu 14.04腾讯CVM上设置开源Shiny Server。...安装在CVM上最新版本R如何在Ubuntu 14.04上设置R) 具有sudo权限非root用户。 本教程所有命令都应以非root用户身份运行。...注:在本指南剩余部分,当你看到你服务器IP,你需要用你CVMIP来代替它。 第1步 - 安装Shiny 在安装Shiny Server之前,我们需要安装shiny R。...这里使用方法是确保为所有用户安装已安装软件最安全方法,而不仅仅是当前运行R用户。

    3.3K10

    Shiny学习(四)||响应式输出

    Shiny应用程序控件选中值可以通过生成响应式输出来显示。用户切换控件值,输出文本也随着控件值自动响应。...下面添加对控件值响应。 创建响应式输出主要分为两步: 1.R对象添加到ui用户界面。 2.在server构建响应式对象并调用控件值。...步骤1:R对象添加到UI Shiny提供了一系列函数,可将R对象转换为用户界面的输出。每个函数都会创建特定类型输出。 ? 每个render*函数都有一个参数:R表达式用花​​括号括起来{}。...每个*Output函数都需要一个参数:一个Shiny将用于反应元素名称字符串。 步骤2:提供R代码来构建对象。 在ui设置Shiny在哪里显示对象后,接下来,需要告诉Shiny如何构建对象。...为此,需要在server函数构建对象。server会建立一个outputlist,其中包含更新R对象代码。

    1.6K30

    如何在Ubuntu 18.04上使用devtools安装R

    在本教程,我们讨论如何安装devtools并使用它直接从GitHub安装R。...第3步 - 从GitHub安装R 在这一步,我们直接从GitHub安装Shiny最新开发版本,这是一个RWeb应用程序框架。...运行闪亮: 我们连接到R,这次是普通用户。务必输入R标题大小写。 R 接下来,我们加载Shiny: library("shiny") Shiny包含11个内置示例,演示了它工作原理。...首先,我们中断与服务器CTRL+ C,然后退出R壳CTRL+ D并重新输入它作为根: sudo -i R 我们可以使用以下命令安装稳定版本,该命令覆盖我们在前面步骤完成GitHub安装。...cat /usr/local/lib/R/site-library/shiny/DESCRIPTION 结论 在本教程,我们直接从GitHub安装了最新Shiny软件,并学习了如何从CRAN重新安装其稳定版本

    5.6K00

    【绘图】高维数据可视化必备图形-平行坐标

    如此高维数据,如果我们想要观察他们变化趋势,应该使用何种图形呢? 在上面的这张图形,仅仅有两条线。如果有几十条、几百条折线,或者多个分组呢?不知道大家有没有考虑过这样问题。...顶点在每一个轴上位置就对应了该对象在该维度上变量数值,比如下面的这张图。 ? 从图中我们可以看出,平行坐标图和折线图相比是非常相似的。...现在,我们要做,就是比较这150个基因在4个分组变化趋势。那么下面我们就来进行图形绘制。在这里我们用了GGallyggparcoord()函数进行绘图。...话说回来,平行坐标图也有它自己缺点。那就是当数据非常庞大时,在图中曲线就会显得非常密集,使得图形显得稍有杂乱,曲线难以辨认。那么如何解决这一问题呢?...不过还有一点要跟大家强调一下,平行坐标轴描述大多是计量数据,对于定性数据或者分类变量,建议大家还是不要勉强使用平行坐标图。那么在这种情况下该用哪一种图形呢?

    1.6K30

    基于R语言shiny网页工具开发基础系列-06

    文件夹 使用命令runApp("stockVis")启动app StockVis 用Rquantmod,如果没有应该安装install.packages("quantmod") 一个新app-stockVis...stockVis主要依赖两个来自quantmod函数 1.使用getSymbols 直接从网站下载数据到R,比如Yahoo finance,Federal Reserve Bank of St....,反应表达式会返回保存值,不做任何计算 此举能够被用作防止shiny重新运行不必要代码 思考如下stockVis app,反应表达式如何生效 server <- function(input, output...shiny会重建对象,一旦: 对象render*函数,input值改变了 对象render*函数,反应表达式过期了 反应表达式作为一条链连接,把input值和output对象连了起来。...,让用户能切换价格是否适应通货膨胀 helper.R adjust函数使用由圣路易斯联邦储备银行提供Consumer Price Index 数据,历史价格转为当前价格,是如何用代码实现呢?

    3.9K20

    关于Python可视化Dash工具

    plotly.express附带了一些用于演示、教育和测试目的内置数据集。 这些数据以CSV格式存储在目录下,以pandas类型获取到数据,方便进行图表功能测试。...16、bar_polar:极坐标条形图 在极坐标条形图中,每一行都data_frame表示为极坐标楔形标记; 17、violin:小提琴图 在小提琴图中data_frame每一行分组成一个曲线标记...26、scatter_matrix:矩阵散点图 在散点图矩阵(或SPLOM),每行data_frame由多个符号标记表示,在2D散点图网格每个单元格中有一个,其每对dimensions...彼此相对绘制; 27、parallel_coordinates:平行坐标图 在平行坐标图中,每行data_frame由折线标记表示,该折线标记穿过一组平行轴,每个平行轴对应一个平行轴 dimensions...dash_html_components和HTML属性有几点重要不同: 1. 在HTML,style属性是以分号分隔字符串。在Dash,你可以使用一个字典。

    3.2K10

    使用RShiny创建数据可视化仪表盘详细教程

    数据可视化仪表盘是数据直观呈现并提供交互性强大工具。R语言与Shiny框架结合,使得创建交互式数据可视化仪表盘变得轻松而灵活。...在这篇博客,我们深入介绍如何使用RShiny创建一个简单而实用数据可视化仪表盘。步骤1:安装和加载必要首先,确保你已经安装了以下Rshiny、ggplot2、dplyr。...以下是一个简单Shiny应用框架:RCopy code# app.R# 加载必要library(shiny)library(ggplot2)library(dplyr)# 定义UI界面ui <-...应用在R运行Shiny应用:RCopy codeshinyApp(ui, server)这将启动Shiny应用,你可以在浏览器访问http://127.0.0.1:XXXX(XXXX为端口号),查看创建数据可视化仪表盘...RShiny创建一个简单数据可视化仪表盘。

    40510

    单细胞测序数据拟时序分析

    目前拟时序分析最常用方法 Monocle是由Trapnell实验室开发,采用了无监督算法,单个细胞按照拟时间排列在对应轨迹上。...用户可以通过插件安装方式获取Monocle功能,运行简单,无需编写R代码,操作界面十分友好。下面就为大家详细展示如何在SeqGeq™获取Monocle以及使用它进行拟时序分析。...如电脑已安装R,则不必重新安装。 运行Monocle 选中目标细胞群,打开Workspace-Plugin-Monocle插件,指定基因进行Monocle运算。 ? 结果解读 ?...Monocle安装方法 关联SeqGeq™ SeqGeq™与R安装位置和SeqGeq™安装目录下 Plugin文件夹位置进行关联,并将下载好插件Monocle.jar文件复制至关联...安装Monocle 打开插件How_to_Monocle PDF文件,复制安装命令至 R中进行安装。 ? R安装完成后,重启SeqGeq™。

    4.4K20

    机器人技术学过和做过是两回事→指导和代做差别←

    “收藏从未停止,练习从未开始”,或许有那么一些好题好方法,在被你选中收藏后却遗忘在收藏夹里积起了?今天请务必打开你沉甸甸收藏重新回顾,分享一下那些曾让你拍案叫绝好东西吧!...具体任务如下: 使用激光雷达传感器获取周围环境点云数据。 根据点云数据,建立机器人周围3D地图。 使用ROS导航功能,让机器人在3D地图中进行自主导航,找到目标位置。...轨迹设计类型题目  AI: 以下是一个我认为比较实用和方便ROS机器人便捷技巧: 使用ROS包管理器(package manager)来管理ROS软件。...ROS包管理器是一个非常强大工具,可以帮助你在ROS系统轻松地安装、升级和卸载软件使用ROS包管理器便捷技巧: 使用rosdep命令来安装和更新软件及其依赖项。...例如,使用catkin build命令来构建整个ROS工作空间,使用catkin compile命令来编译指定软件使用rosrun命令来运行ROS软件节点。

    4.1K10
    领券