gpt4 book ai didi

R plotly : Custom hover text does not appear when only one stacked bar

转载 作者:行者123 更新时间:2023-12-04 10:53:20 25 4
gpt4 key购买 nike

我一直在使用关于自定义悬停文本 ( https://plot.ly/r/text-and-annotations/ ) 的示例来更改我正在处理的条形图中的悬停文本。如果我的条形图仅包含一个堆叠条,则不会显示新的悬停文本。示例(在最后一个缺少 hoverinfo 的 plotly 中):

library(plotly)
year <- c(2015,2015,2016,2016)
type <- c('A','B','A','B')
perc <- c(10,90,20,80)

data <- data.frame(year,type,perc)

# Plot all the data ... default hoverinfo shown
plot_ly(data,x=~year,y=~perc,color=~type) %>%
add_bars()%>%
layout(barmode = "stack")

# Plot all the data ... custom hoverinfo shown
plot_ly(data,x=~year,y=~perc,color=~type,
text = ~paste('Type',type,': ',perc,'%'),hoverinfo = 'text') %>%
add_bars()%>%
layout(barmode = "stack")

# Plot part of the data ... default hoverinfo shown
plot_ly(data[data$year == 2015,],x=~year,y=~perc,color=~type) %>%
add_bars()%>%
layout(barmode = "stack")

# Plot part of the data ... custom hoverinfo does not appear!
plot_ly(data[data$year == 2015,],x=~year,y=~perc,color=~type,
text = ~paste('Type',type,': ',perc,'%'),hoverinfo = 'text') %>%
add_bars()%>%
layout(barmode = "stack")

使用 R 版本 3.3.2 和 plotly 版本 4.5.6。

最佳答案

得到一些帮助,解决方案是将文本定义为列表。

plot_ly(data[data$year == 2015,],x=~year,y=~perc,color=~type,
text = ~list(paste('Type',type,': ',perc,'%')),hoverinfo = 'text') %>%
add_bars()%>%
layout(barmode = "stack")

只要我知道只有一个柱并且 ~type 的顺序在整个数据集中是相同的,这就有效。如果我将类型更改为

type <- c('A','B','B','A')

然后运行

data <- data.frame(year,type,perc)
plot_ly(data[data$year == 2016,],x=~year,y=~perc,color=~type,
text = ~list(paste(year,'Type',type,': ',perc,'%')),hoverinfo = 'text') %>%
add_bars()%>%
layout(barmode = "stack")

我没有得到 hoverinfo 的正确顺序。所以这不是完美的解决方案。

关于R plotly : Custom hover text does not appear when only one stacked bar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40850415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com