为啥使用 ggplotly 时我的工具提示的顺序会发生变化?

Posted

技术标签:

【中文标题】为啥使用 ggplotly 时我的工具提示的顺序会发生变化?【英文标题】:Why does the order of my tooltips change when using ggplotly?为什么使用 ggplotly 时我的工具提示的顺序会发生变化? 【发布时间】:2021-07-23 07:39:43 【问题描述】:

当我将自己的文本添加到 ggplotly 的工具提示中时,文本的顺序会发生变化。在我的示例中,我的文本中的顺序是葡萄牙语,然后是德语,但是在情节上,顺序是不同的。

我该如何解决这个问题?

谢谢

library(ggplot2);
library(plotly);

language <- c("de","es","hi","pt","sv","en")
averageRating <- c(6,4,3,9,10,30)
my_data <- data.frame(language, averageRating)
text <- c("Portuegese","German","Spanish","Hindi","Swedish","English")
p <- ggplot(data=my_data, aes(x=language, y=averageRating, text = text)) +
geom_bar(stat = "identity")

ggplotly(p, tooltip = c("text"))

【问题讨论】:

你需要这个吗? ***.com/questions/38131596/… 【参考方案1】:

也许你应该在申请ggplot 时尝试aes 中的factor,例如,

ggplot(data = my_data, aes(x = factor(language, levels = language), y = averageRating, text = text))

【讨论】:

【参考方案2】:

为了解决这个问题,我在数据框中添加了一个新列,其中包含我希望在工具提示中显示的名称。然后,我将美学中的“文本”设置为该列名称。

library(ggplot2);
library(plotly);
my_data <- read.csv("languageVsRating.csv")
p <- ggplot(data=my_data, aes(x=reorder(language,-averageRating), y=averageRating, text = fullName)) +
geom_bar(stat = "identity") +
labs(x="Film Language",y="Average Rating")+
geom_hline(aes(yintercept = 6.9,linetype="Mean"),colour='red',size=1)+
geom_hline(aes(yintercept = 6.7,linetype="Median"),colour='blue',size=1)+
scale_linetype_manual(name = "",values = c(2,2),guide = guide_legend(override.aes = list(color = c("red", "blue"))))

ggplotly(p, tooltip = c("text","y"))

languageVsRating.csv 中还有另一列,其中包含语言全名

【讨论】:

以上是关于为啥使用 ggplotly 时我的工具提示的顺序会发生变化?的主要内容,如果未能解决你的问题,请参考以下文章

当我在 plotly 中使用 ggplotly 函数时,为啥文本注释会丢失?

为啥打开 mkfifo 管道时我的程序会挂起?

为啥点击时我的 UISearchBar 会缩小?

为啥切换语言环境时我的会话没有加载?

为啥存档时我的 NSURLResponse 会泄漏内存?

iOS MagicalRecord 之谜。为啥在 truncateAll 后重新启动时我的数据会重新出现?