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

如何使用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参数应用颜色向量。

参考链接

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

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

相关·内容

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

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

94110

【最终章】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.8K32
  • Shiny学习(四)||响应式输出

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

    1.6K30

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

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

    4.1K10

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

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

    2.5K10

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

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

    44820

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

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

    5.7K41

    「R」Shiny:响应式编程(二)响应式编程

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

    2.6K20

    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.7K43

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

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

    1.7K30

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

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

    65420

    使用R和Shiny创建数据可视化仪表盘的详细教程

    数据可视化仪表盘是将数据直观呈现并提供交互性的强大工具。R语言与Shiny框架的结合,使得创建交互式数据可视化仪表盘变得轻松而灵活。...在这篇博客中,我们将深入介绍如何使用R和Shiny创建一个简单而实用的数据可视化仪表盘。步骤1:安装和加载必要的包首先,确保你已经安装了以下R包:shiny、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为端口号),查看创建的数据可视化仪表盘...R和Shiny创建一个简单的数据可视化仪表盘。

    48410

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

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

    3.9K20

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

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

    3.6K20

    「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

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

    目前拟时序分析最常用的方法 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.5K20

    基于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

    如何在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,你需要用你的CVM的IP来代替它。 第1步 - 安装Shiny 在安装Shiny Server之前,我们需要安装shiny R包。...这里使用的方法是确保为所有用户安装已安装软件包的最安全方法,而不仅仅是当前运行R的用户。

    3.3K10

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

    在本教程中,我们将讨论如何安装devtools并使用它直接从GitHub安装R包。...第3步 - 从GitHub安装R包 在这一步中,我们将直接从GitHub安装Shiny的最新开发版本,这是一个R的Web应用程序框架。...运行闪亮: 我们将连接到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.7K00
    领券