ggplotly - R,标记迹线名称

ggplotly - R, labeling trace names

我是 plotly 的新手,无法找到有关如何命名轨迹的相关文档,因此有意义的标签会出现在 ggplotly 渲染的图中。这里是 ggplotly site 显示了一些例子。在悬停时显示有意义的标签而不是跟踪 trace0、trace1 等后跟的值需要什么?

例如,在第一个图中,标签如何出现才能显示:

比例:值

总账单:价值

理想情况下,我想直接在 R 中执行此操作,而不是通过 Web 界面。提前致谢。

使用 ggplot2 和 Plotly 你可以设置 text。你会想要 install Plotly and get a key。这里有两个例子。例子一:

data(canada.cities, package="maps")
viz <- ggplot(canada.cities, aes(long, lat)) +
    borders(regions="canada", name="borders") +
    coord_equal() +
    geom_point(aes(text=name, size=pop), colour="red", alpha=1/2, name="cities")
    ggplotly()

ggplotly(filename="r-docs/canada-bubble")

这会产生 this plot,悬停时可以看到加拿大城市的名称。

例子二:

install.packages("gapminder")
library(gapminder)

ggplot(gapminder, aes(x = gdpPercap, y = lifeExp, color = continent, text = paste("country:", country))) +
geom_point(alpha = (1/3)) + scale_x_log10()  

ggplotly(filename="ggplot2-docs/alpha-example")

产生 this plot.

有关详细信息,请参阅我们的 R docs or this question on how to overwrite the hover_text element. Plotly's native R API lets you add more controls 到您的地块。谢谢你问布赖恩。我们还将在我们的文档中添加一个新的部分。免责声明:我为 Plotly 工作。

您还可以在 ggplot2 转换 之后编辑任何 plotly 图形属性,但 之前将其发送到 plotly。 Here is an example 手动更改图例条目名称。我会在这里重复一遍:

df <- data.frame(x=c(1, 2, 3, 4), y=c(1, 5, 3, 5), group=c('A', 'A', 'B', 'B'))
g <- ggplot(data=df, aes(x=x, y=y, colour=group)) + geom_point()

# an intermediate step that `ggplotly` calls
p <- plotly_build(g)

# manually change the legend entry names, which are "trace0", "trace1" in your case
p$data[[1]]$name <- 'Group A'
p$data[[2]]$name <- 'Group B'

# send this up to your plotly account
p$filename <- 'ggplot2-user-guide/custom-ggplot2'
plotly_POST(p)

The extended example here 更详细地解释了它的工作原理和原因。

请注意,通常 图例项名称,例如"trace0",将成为您在数据框中分组的标签(如在 ggplot2 中)。