保持geom_rect半透明区域,但彩色轮廓

2023-12-24

我正在尝试使用 R 中的plotly 创建一个带有矩形的交互式绘图。

我的主要想法正在发挥作用。然而,我所坚持的是允许每个矩形都有一个彩色轮廓(如数据的“填充”列中所描绘的),但是是一个完全透明的区域。

以下是正在运行的 MWE:

library(ggplot2)
library(dplyr)
library(plotly)
set.seed(1)
data <- data.frame(Name = paste0("Name",seq(1:10)), xmin = runif(10, 0, 1), xmax = runif(10, 1, 2), ymin = runif(10, 0, 1), ymax = runif(10, 1, 2), fill = sample(c("black","purple"),10, replace=TRUE) )

p <- ggplot(data, aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax, fill = NULL, colour = fill, text = Name)) + geom_rect(size = 0.3, alpha = 0.5) + scale_colour_identity() + theme_bw()
ggplotly(p, tooltip = "text") %>% layout(dragmode = "select")

我可以将鼠标悬停在每个矩形上,并向我指示数据的名称变量。此外,数据的填充变量决定了矩形的颜色。但是,我无法使矩形透明。

I tried:

1)将 fill=NULL 更改为 fill=NA,但这会导致错误:

Error in seq.default(h[1], h[2], length.out = n) : 
  'to' cannot be NA, NaN or infinite

2)将alpha=0.5更改为alpha=0.01,但这使得每个矩形的轮廓也相当透明。

是否可以仅在矩形区域完全透明的情况下创建这种类型的绘图?我真的希望保持矩形的轮廓是彩色的,并且能够响应不同的 alpha 值。

如果您对我有任何建议,我会很高兴听到!


其实很简单。只需使用透明颜色作为填充参数即可fill=alpha("grey",0)为了geom_rect函数,您将得到想要的结果。

您可以通过如下修改代码来做到这一点

p <- ggplot(data, aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax, colour = "purple", text = Name)) + geom_rect(size = 0.3, alpha = 0.5,fill=alpha("grey",0)) + scale_colour_identity() + theme_bw()
ggplotly(p, tooltip = "text") %>% layout(dragmode = "select")

The output looks like Output Image

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

保持geom_rect半透明区域,但彩色轮廓 的相关文章

  • ggplot2 的组合图(不在单个图中),使用 par() 或 layout() 函数? [复制]

    这个问题在这里已经有答案了 我一直在考虑使用 par 或 layout 函数来组合 ggplots 可以使用这些功能吗 假设我想绘制 ggplot 散点图和 ggplot 直方图 我想将这两个地块合并起来 而不是在一个地块中 是否适用 我在
  • 使用 geom_bar 和 stat="identity" 绘制平均值的 hline

    我有一个条形图 其中确切的条形高度位于数据框中 df lt data frame x LETTERS 1 6 y c 1 6 1 6 1 g rep x c a b each 6 ggplot df aes x x y y fill g g
  • 删除 R 中的胡须和异常值

    我有连续的数据 我想用它来绘制R s plotly with a box or violin没有异常值和胡须的绘图 set seed 1 df lt data frame group c rep g1 500 rep g2 700 rep
  • 在 R 中将本地日期时间转换为 UTC

    如何将本地日期时间转换为以下格式 12 31 2014 6 42 52 PM R 中的 UTC 我试过这个 as POSIXct as Date 12 31 2014 6 42 52 PM format m d Y H M S tz UTC
  • 使用梯度下降(最速下降)估计线性回归

    示例数据 X lt matrix c rep 1 97 runif 97 nrow 97 ncol 2 y lt matrix runif 97 nrow 97 ncol 1 我已经成功创建了成本函数 COST lt function th
  • 添加不同的标签以在 ggplot R 中的堆积条形图中显示总计?

    我的问题有点类似 如何添加文本标签以显示ggplot中堆叠比例条的每个条中的总数n https stackoverflow com questions 65201095 how to add text label to show total
  • 为闪亮的应用程序创建桌面图标

    当我在基本 R 提示中提供以下代码时 我会在浏览器中打开一个闪亮的应用程序 shiny runApp C Myapp 我使用 Windows 7 我试图创建一个桌面图标 以避免我的客户每次想要使用该应用程序时都键入上述代码 我创建了一个桌面
  • 使用 dplyr 和 ggplot 绘制包括负值的多面水平发散堆积条形图

    我希望这个例子能够让人清楚 我想要堆叠条形 其中中间条形跨越 0 因为它代表中性值 这与李克特量表一起使用 为了重现性 我使用钻石数据集 以下示例与我的用例足够接近 并演示了我很难以正确的顺序获取 好 或 正 数据 因此中性最接近 0 这是
  • 哪种 LaTeX 包与 knit 一起使用以获得更多的表格控制?禁忌?

    我正在用 knitr 写一张更长的桌子xtable和tabular environment longtable 在 longtable 包中时print将它们纳入我的 Rnw file 问题是我对longtable环境控制不够 我有一些文本
  • 如何使用 ggplot 绘制矩阵图

    我想可视化一个矩阵 MAT lt matrix c 100 7 0 0 49 0 0 0 49 nrow 3 ncol 3 gt MAT 1 2 3 1 100 7 0 2 0 49 0 3 0 0 49 然而 标准方法不能正确地对小数字进
  • 根据绘图单击事件对数据框进行子集化

    我有下面的数据框 Name lt c John Bob Jack Number lt c 3 3 5 NN lt data frame Name Number 还有一个简单闪亮的应用程序 可以从中创建一个绘图直方图 我的目标是单击直方图的一
  • 将 R 传单地图保存为 html:不包括图块

    我正在尝试使用 saveWidget 或将 rmd 文件输出到 html 来保存 R 传单地图 如下所述 将传单输出保存为 html https stackoverflow com questions 30110377 saving lea
  • 插值时间序列

    我有两组具有不同时间戳的数据 一组数据包含校准数据 另一组包含样本数据 校准的频率比样品少得多 我想做的是将校准数据 低频 插值到采样时间序列 高频 上 sam lt textConnection time value 01 00 52 2
  • 如何连接 R 列表中的多个 .wav 文件?

    我有一个 wav 文件列表my list library seewave library tuneR data tico audio lt tico freq lt 22050 breaks lt c 0 0 2 0 4 0 6 0 8 i
  • 如何在 R 中使用 msgbox [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何在中显示消息框R 我正在寻找类似的东西msgbox在 VBA 中 因此我可以向用户发出有关问题的警报 此外 我想允许一些用户交互 例如
  • 将英寸高度的字符向量转换为厘米?

    我得到一个字符向量 tibble H c 6 2 5 10 5 5 5 1 5 5 5 4 我想将其转换为厘米 请告知我该怎么做 有几种方法可以使用 1 阅读与fread粘贴到单个字符串后 library data table fread
  • R 中的频率加权,与 Stata 的结果比较

    我正在尝试分析明尼苏达大学 IPUMS 数据集中的数据1990 年美国人口普查 http usa ipums org usa sampdesc shtml us1990a in R 我正在使用survey http faculty wash
  • 动态显示仪表板页面

    我有一个实用的闪亮应用程序 它使用shinydashboard包裹 新功能需要特定于用户的行为 例如 针对不同的用户名使用不同的数据集 因此我打算 显示登录表单 验证凭据并设置反应值LoggedIn to true如果成功的话 显示实际情况
  • 使用 ggplot2 在一张画布上绘制多个图形[重复]

    这个问题在这里已经有答案了 我正在尝试根据此表将两个 ggplot2 图合并为一个图 Type RatingA RatingB 1 One 3 36 2 Two 5 53 3 One 5 57 4 One 7 74 5 Three 4 38
  • 修改x轴刻度标签

    我正在尝试更改由生成的箱线图的 x 轴刻度标签ggplot2 x 轴是一个分类变量 HabFac 我想要的是将其刻度更改为 6 个化学品 A E 下面是我的代码 raw data read table Read data p TT ggpl

随机推荐

  • 那么如何将数据推送到承诺内的数组呢?

    我一直在试图弄清楚 如何将结果从 Promise 循环推送到数组 谁能指出我正确的位置 const ids 1 2 3 let results for let id of ids getLight id then light gt resu
  • 将夜间叠加层添加到谷歌地图 API

    我的 Angular 项目中有以下 html 部分
  • 如何更改 TemplateField 中 ItemTemplate 的命令文本和图像按钮

    我有一个带有 ImageButton 的列 我的数据库字段有bit数据类型 我希望我的记录在该列中具有真正的价值True jpg我的命令变成MakeFalse当它有错误值时显示False jpg我的命令变成MakeTrue 我怎样才能做到这
  • 如何在AS3中发送GET请求?

    我在这里看到这个例子 http damn ihateblue net 2011 09 24 actionscript 3 send getpost http damn ihateblue net 2011 09 24 actionscrip
  • 防止 Javascript 转义文本?

    声明 text section main 结果是 节 主 有没有办法阻止 Javascript 解释器将反斜杠视为转义字符并将其删除 我希望能够声明 section main 并在输出中保留反斜杠 节 main 注意 我意识到如果我使用两个
  • JNI 中 jclass 的类名

    这可能是一个愚蠢的问题 暴露出对 JNI 缺乏理解 我正在编写一个封装 Java VM 的 C 程序 我使用 CallVoidMethod 等调用来调用 VM 内的函数 这纯粹是背景知识 与问题不太相关 我希望能够找到给定 jclass 实
  • Struts2 排除模式不起作用

    我正在将 struts2 用于基于 GAE 的应用程序 我有一个 servlet 来上传这样的文件 Override protected void doPost HttpServletRequest req HttpServletRespo
  • 如何在Amazon Linux系统中升级ruby版本?

    我使用 padrino ruby 框架开发了 ruby 应用程序 我想将其部署在亚马逊上 我用了这张图片 Amazon Linux AMI 2017 09 1 HVM SSD 卷类型 图像描述是 Amazon Linux AMI 是一个由
  • AWS Lambda:创建触发器

    当我尝试添加触发器时 出现以下错误 创建触发器时出错 配置定义不明确 如果同一事件类型的前缀重叠 则两个规则中不能有重叠的后缀 我不确定这里出了什么问题 原因之一可能是之前使用相同触发器的其他某个 lambda 函数已被删除 这不会自动清除
  • 提交时合并两个表单中的值

    我在一个 html 页面上有两个表单 使用 jQuery 是否可以在提交第一个表单时将两个表单中的数据放入 POST 数据中 jQuery序列化支持多个表单元素 所以可以这样做 form1 form2 serialize 对于你的情况 你可
  • ElasticSearch PutMapping API:MapperParsingException 解析后根类型映射不为空

    我的本地实例上有一个 River ES 1 3 4 和 JDBC For MySql 1 3 4 4 这条河运行良好 并在 ES 中导入数据 我面临的问题是我的字段之一是文本字段并且其中有空格 例如 实时计算器 ES 将其索引为 实时 时间
  • 如何在不使用 IDE 且不了解程序流程的情况下调试应用程序?

    我正在尝试修改优秀书籍提供的朴素贝叶斯分类器的代码集体智慧编程 https rads stackoverflow com amzn click com 0596529325 使其适应 GAE 数据存储 提供的代码使用 pysqlite2 但
  • django 1.3+ 的简单日志到文件示例

    发行说明说 Django 1 3 添加了框架级别 支持 Python 的日志记录模块 那很好 我想利用这一点 很遗憾文档 http docs djangoproject com en 1 11 topics logging 并没有以完整的工
  • 将图标放置在 div 的右上角

    我创建了这段代码 但我无法将图标放在 valori 类的 div 的右上角 这里是期望的结果 这里的代码 HTML div class circletop div class numberpr 3 anno div div class lo
  • 运行 Firebase 模拟器时出现“确定执行环境时出现意外错误”

    当我部署函数时 一切正常 但使用 Firebase 模拟器在本地运行相同的代码会出现以下错误 message Unexpected error determining execution environment request to htt
  • 表单提交复选框将值设置为“on”而不是“true”

    您好 我有一个 html 表单 我通过按钮上的单击事件提交该表单 该事件触发 myform submit 问题是表单上有一个复选框 并且在发布的参数下的 firebug 中它显示 mycheckbox1 on 而不是预期的 mycheckb
  • 在嵌套元组中查找值

    假设我有 t dog Dog cat Cat fish Fish 我需要检查一个值是否位于嵌套元组的第一位 即小写位 中 我怎样才能做到这一点 大写值实际上并不重要 我只想搜索仅包含小写值的字符串 if fish in t print Fi
  • jspdf AutoTable :表格特定行的目标样式

    我正在为我的表格 pdf 使用 jsPDF AutoTable 插件 我的资料来源 javaScriptIncludeTag jspdf min js javaScriptIncludeTag jspdf plugin autotable
  • 类 CharField() 的参数

    有什么区别CharField name max length 100 and CharField max length 100 参数是什么 name 用于 什么是CharField 构造函数 有人可以给我一个链接吗 CharField 继承
  • 保持geom_rect半透明区域,但彩色轮廓

    我正在尝试使用 R 中的plotly 创建一个带有矩形的交互式绘图 我的主要想法正在发挥作用 然而 我所坚持的是允许每个矩形都有一个彩色轮廓 如数据的 填充 列中所描绘的 但是是一个完全透明的区域 以下是正在运行的 MWE library