[英]R Plotly legend filtering
我已經從plotly網站( https://plot.ly/ggplot2/geom_bar )復制了該代碼示例,但是該圖形的行為與過濾后的示例有所不同。 我怎樣才能重塑?
碼:
library(plotly)
DF <- read.table(text="Rank F1 F2 F3
1 500 250 50
2 400 100 30
3 300 155 100
4 200 90 10", header=TRUE)
library(reshape2)
DF1 <- melt(DF, id.var="Rank")
p <- ggplot(DF1, aes(x = Rank, y = value, fill = variable)) +
geom_bar(stat = "identity")
p <- ggplotly(p)
如果將示例代碼和已發布的代碼生成的數據進行緊密比較,則會發現兩個區別。
base
值 為了防止在切換軌跡時堆疊的條形圖不塌陷,您需要擦除base
值(並且出於美學原因,請反轉軌跡的順序)。
library(plotly)
DF <- read.table(text="Rank F1 F2 F3
1 500 250 50
2 400 100 30
3 300 155 100
4 200 90 10", header=TRUE)
library(reshape2)
DF1 <- melt(DF, id.var="Rank")
gp <- ggplot(DF1, aes(x = Rank, y = value, fill = variable)) +
geom_bar(stat = "identity")
p <- ggplotly(gp)
for (i in 1:length(p$x$data)) {
p$x$data[[i]]$base <- c()
tmp <- p$x$data[[i]]
p$x$data[[i]] <- p$x$data[[length(p$x$data) - i + 1]]
p$x$data[[length(p$x$data) - i + 1]] <- tmp
}
p
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.