为啥使用 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 时我的工具提示的顺序会发生变化?的主要内容,如果未能解决你的问题,请参考以下文章