使用 R 和 ggplot2 语法将自定义工具提示添加到 plotly

Posted

技术标签:

【中文标题】使用 R 和 ggplot2 语法将自定义工具提示添加到 plotly【英文标题】:Adding custom tooltip to plotly using R and ggplot2 syntax 【发布时间】:2014-08-02 06:26:54 【问题描述】:

我正在尝试使用具有自定义标签的 ggplot 对象从 R 创建一个情节图。

#library('devtools')
#install_github("ropensci/plotly")
library('plotly')
set_credentials_file(username="your_name", api_key="your_key")

py <- plotly()
labels = LETTERS[sample(x=26, size=nrow(iris), replace=T)]
ggiris <- ggplot(iris, aes(Petal.Width, Sepal.Length, color = Species)) + geom_point()

r <- py$ggplotly(ggiris)
r$response

我希望特定数据点的值取自 labels,并且仅在悬停数据点时显示。

【问题讨论】:

【参考方案1】:

我一直在研究同样的问题,我认为您需要做的是这样的事情(通过https://***.com/a/27007513/829256 和推特上的@plotlygraphs)

# first use your Plotly connection and retrieve data for the ggiris plot you uploaded
irisplot <- py$get_figure('username', n)  # where n = the number of this plot on your account

# inspect the irisplot object
str(irisplot)  # a list of 2

# inspect irisplot$data
str(irisplot$data)  # a list of 3, one list for each Species

# overwrite 'text' for each Species list
irisplot$data[[1]]$text <- labels[1:50]
irisplot$data[[2]]$text <- labels[51:100]
irisplot$data[[3]]$text <- labels[101:150]

# re-upload to Plotly
resp <- py$plotly(irisplot$data, kwargs = list(layout = irisplot$layout))

# check out your new plot
resp$url

所以绘图现在应该有一个来自“标签”的每个数据点的值,显示为鼠标悬停的工具提示。

您可能希望在如何将标签分配给点方面做一些更聪明的事情,但希望这能让您开始。

谢谢,我认为解决这个问题也将帮助我解决我自己的任务:-)

【讨论】:

以上是关于使用 R 和 ggplot2 语法将自定义工具提示添加到 plotly的主要内容,如果未能解决你的问题,请参考以下文章

R语言ggplot2可视化自定义调色板的语法

如何将自定义 css 工具提示添加到 extjs 列标题?

r 常见绘图任务的语法与ggplot2和plotly

1.ggplot2——简介

数据可视化 | 使用R语言绘制专业图表(Ⅰ)——ggplot2 图形语法基础

R语言ggplot2可视化facet间隔设置语法实战