我有一个包含100多个类别的数据集。如果我要绘制它,我必须为它写100多行代码。以下是来自官方网站的示例:
library(plotly)
Animals <- c("giraffes", "orangutans", "monkeys")
SF_Zoo <- c(20, 14, 23)
LA_Zoo <- c(12, 18, 29)
data <- data.frame(Animals, SF_Zoo, LA_Zoo)
p <- plot_ly(data, x = ~Animals, y = ~SF_Zoo, type = 'bar', name = 'SF Zoo') %>%
add_trace(y = ~LA_Zoo, name = 'LA Zoo') %>%
layout(yaxis = list(title = 'Count'), barmode = 'stack')
正如你所看到的,如果我有超过100个将成为情节的动物园,我需要写'add_trace'超过100次,这是低效的。 有没有人知道如何做到这一点?我尝试使用for循环但失败了。 :(
或者,如果任何人知道如何使用ggplotly将ggplot转移到交互式格式,它也将解决我的问题。 ggplot生成的图是一个堆叠的分组条形图,其中x轴有10个facet_grid,每个网格中有大约100个类别。我试图直接使用ggplotly并将其保存为.html,但是,情节的比例非常奇怪。它应该看起来像一个宽约40,高约8的矩形,但在html中,它只是显示为一个不可读的正方形。
谢谢!
答案 0 :(得分:9)
您可以融化数据,然后将其绘制如下:
{{1}}
这将绘制: