[英]How to plot a bar chart with each x-lab bar contain both positive and negative y values in ggplot r?
我有一個像這樣的樣本數據集:
df_test <- data.frame(
proj_manager = c('Emma','Emma','Emma','Emma','Emma','Alice','Alice'),
proj_ID = c(1, 1, 2, 2, 2, 3, 4),
stage = c('B','B','B','A','C','A','C'),
value = c(15,15,20,20,20,70,5)
)
我按經理計算項目的總價值; 以及每個階段/經理的項目數量,並使用“輸入”進行可視化:
input <- select(df_test, proj_manager, proj_ID, stage, value) %>%
filter(proj_manager=='Emma') %>%
do({
proj_value_by_manager = sum(distinct(., proj_ID, value)$value);
mutate(., proj_value_by_manager = proj_value_by_manager)
}) %>%
group_by(stage) %>%
mutate(count_proj = length(unique(proj_ID)))
print(input)
proj_manager proj_ID stage value proj_value_by_manager count_proj
<fctr> <dbl> <fctr> <dbl> <dbl> <int>
1 Emma 1 B 15 35 2
2 Emma 1 B 15 35 2
3 Emma 2 B 20 35 2
4 Emma 2 A 20 35 1
5 Emma 2 C 20 35 1
我期望繪制一個條形圖,顯示所選經理的項目摘要,其中:
( 圖片未使用示例數據,我希望條形圖不是boxplot ):
如何使用ggplot條形圖實現此目標? 任何幫助將不勝感激!
您將不得不對此進行操作,但這是一個開始( /30
只是為了使比例具有可比性,將其更改為所需的值)。
df <- data.frame(input)
commapos <- function(x, ...) {
format(abs(x), big.mark = ",", trim = TRUE,
scientific = FALSE, ...) }
ggplot (input, aes(stage), stat = "identity") +
geom_bar()+geom_bar(aes(y=-proj_value_by_manager/30.0),
stat = "identity", fill = "Blue") + scale_y_continuous(labels = commapos)
這給了你這個准系統圖。 繼續努力,我相信您可以輕松地使其更漂亮...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.