为什么 ggplotly 毁了我的 ggplot 传奇?

问题描述 投票:0回答:2

我正在创建 ggplot 视觉效果,并使用 ggplotly 进行交互。 ggplot 视觉效果很好,但是当我将它与 ggplotly 一起使用时,图例剪辑......

以下是我正在讨论的两个视觉效果:

ggplot:

enter image description here

ggplotly:

enter image description here

我的代码:

plotall <- ggplot(vacgdp3, aes(x=GDP, y=people_vaccinated_per_hundred, size = total_vaccinations, color = continent, text = paste0("People Vaccinated Per Hundred: ", people_vaccinated_per_hundred, "\nCountry: ", country))) +
geom_point(alpha = 0.7) +
scale_x_continuous(labels = unit_format(unit = "Trillion", scale = 1e-12))+
ylab("People Vaccinated Per Hundred")+
xlab("GDP per Capita")



ggplotly(plotall, tooltip = c("x", "text"))

我上传了一个使用 dput() 为数据集创建的 txt 文件:

https://www.dropbox.com/s/j0a7z9qfq20h91m/Vac.txt?dl=0

我一直在尝试用 ggplotly 格式化图例,但似乎没有任何效果。任何帮助将不胜感激。

此外,任何有关如何改进提问的建议也将受到欢迎,因为我是新手!

r ggplot2 ggplotly
2个回答
2
投票

不确定详细信息,但您可以从 ggplot 中删除图例标题并通过

ggplot
添加图例标题,而不是通过
ggplotly
layout
添加图例标题。这样
plotly
将处理图例标题的长度并根据需要增加边距:

library(plotly)

plotall <- ggplot(vacgdp3, aes(x=GDP, y=people_vaccinated_per_hundred, size = total_vaccinations, color = continent, text = paste0("People Vaccinated Per Hundred: ", people_vaccinated_per_hundred, "\nCountry: ", country))) +
  geom_point(alpha = 0.7) +
  scale_x_continuous(labels = unit_format(unit = "Trillion", scale = 1e-12))+
  ylab("People Vaccinated Per Hundred") +
  xlab("GDP per Capita") +
  labs(color = NULL, size = NULL)

ggplotly(plotall, tooltip = c("x", "text")) %>% 
  layout(legend = list(title = list(text = "Legend title long long long long<br>")))

enter image description here


0
投票

有人知道一种方法来显示两个不同的图例(在这种情况下,大陆颜色和点大小),而不是一个合并的图例?

© www.soinside.com 2019 - 2024. All rights reserved.