R Plotly如何同时使用位置闪避和格式化悬停文本
R Plotly how to use both position dodge and format hover text
我想创建一个 plotly 对象,它是 1.) 在 x 轴上躲闪的位置和 2.) 按照我想要的方式格式化文本。我可以分别满足每个条件,但无法同时满足。
这里我有一个适当位置闪避的情节
library(tidyverse)
library(plotly)
df <- data.frame(
x = c(1, 2, 3, 4),
y = runif(8, 5, 10),
cat = c("a", "a", "a", "a", "b", "b", "b", "b")
)
p <- ggplot(df, groups = cat) +
geom_point(aes(x = x, y = y, color = cat),
position = position_dodge(width = 0.3))
ggplotly(p)
这里我有一个带格式化悬停文本的绘图
plot_ly(df, x = ~x,
y = ~y,
type = 'scatter',
mode = 'markers',
color = ~cat,
hoverinfo = 'text',
text = ~paste('</br> X is ', x,
'</br> Y is ', y,
'</br> Cat is ', cat
)
)
如何将这两个想法结合起来,以便我有一个位置躲避的情节以及手动格式化的悬停文本?
您可以通过 text
“美学”传递自定义的悬停文本,并在 ggplotly
:
的调用中添加参数 tooltip="text"
library(tidyverse)
library(plotly)
df <- data.frame(
x = c(1, 2, 3, 4),
y = runif(8, 5, 10),
cat = c("a", "a", "a", "a", "b", "b", "b", "b")
)
p <- ggplot(df, groups = cat) +
geom_point(aes(x = x, y = y, color = cat,
text = paste('</br> X is ', x, '</br> Y is ', y, '</br> Cat is ', cat)),
position = position_dodge(width = 0.3))
ggplotly(p, tooltip = "text")
我想创建一个 plotly 对象,它是 1.) 在 x 轴上躲闪的位置和 2.) 按照我想要的方式格式化文本。我可以分别满足每个条件,但无法同时满足。
这里我有一个适当位置闪避的情节
library(tidyverse)
library(plotly)
df <- data.frame(
x = c(1, 2, 3, 4),
y = runif(8, 5, 10),
cat = c("a", "a", "a", "a", "b", "b", "b", "b")
)
p <- ggplot(df, groups = cat) +
geom_point(aes(x = x, y = y, color = cat),
position = position_dodge(width = 0.3))
ggplotly(p)
这里我有一个带格式化悬停文本的绘图
plot_ly(df, x = ~x,
y = ~y,
type = 'scatter',
mode = 'markers',
color = ~cat,
hoverinfo = 'text',
text = ~paste('</br> X is ', x,
'</br> Y is ', y,
'</br> Cat is ', cat
)
)
如何将这两个想法结合起来,以便我有一个位置躲避的情节以及手动格式化的悬停文本?
您可以通过 text
“美学”传递自定义的悬停文本,并在 ggplotly
:
tooltip="text"
library(tidyverse)
library(plotly)
df <- data.frame(
x = c(1, 2, 3, 4),
y = runif(8, 5, 10),
cat = c("a", "a", "a", "a", "b", "b", "b", "b")
)
p <- ggplot(df, groups = cat) +
geom_point(aes(x = x, y = y, color = cat,
text = paste('</br> X is ', x, '</br> Y is ', y, '</br> Cat is ', cat)),
position = position_dodge(width = 0.3))
ggplotly(p, tooltip = "text")