我有一個包含周結束日期和流失值的示例資料集,可以是負值也可以是正值。在 ggplot2 中,我使用scale_fill_manual()值作為組的符號。這可以很好地顯示正值與負值的顏色。此外,標簽會根據提供的標簽進行重寫。但是,如果我只是簡單地將它做成一個情節圖,我就會丟失我的標簽,而是將它們設定回 -1, 1 因子。是否情節上不支持這一點,如果是這樣,他們是另一種完成這項作業的方式
library(ggplot2)
library(plotly)
dt <- structure(list(date = structure(c(18651L, 18658L, 18665L, 18672L,
18679L, 18686L, 18693L, 18700L, 18707L, 18714L), class = c("IDate",
"Date")), churn = c(-3.27088948787062, -0.582518144525087, -0.125024925224327,
-0.333746898263027, -0.685714285714286, -0.340165549862042, 0.0601176470588235,
-0.119351608461635, -0.0132513279284316, -0.011201854099989)), row.names = c(NA,
-10L), class = c("data.table", "data.frame"))
plot_ggplot <- ggplot(dt, aes(x = date, y = churn * 100))
geom_bar(stat = "identity", aes(fill = factor(sign(churn))))
scale_fill_manual(
values = c("#4da63f", "#e84e62"),
breaks = c("-1", "1"),
labels = c("Growing base", "Declining base")
)
ylim(-75, 25)
labs(
title = "Weekly churn rate",
fill = "Legend"
)
plot_ggplot

plot_ggplotly <- ggplotly(plot_ggplot)
plot_ggplotly

uj5u.com熱心網友回復:
這行得通嗎?
dt$base = ifelse(sign(dt$churn)>0, "Growing base","Declining base")
plot_ggplot <- ggplot(dt, aes(x = date, y = churn * 100))
geom_bar(stat = "identity", aes(fill = base))
scale_fill_manual(
values = c("#4da63f", "#e84e62"),
)
ylim(-75, 25)
labs(
title = "Weekly churn rate",
fill = "Legend"
)
plot_ggplot
plot_ggplotly <- ggplotly(plot_ggplot)

編輯:我剛剛閱讀了評論,我認為這是建議的
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/360791.html
標籤:r ggplot2 情节地 r-plotly ggplotly
