我想在ggplot中只为一个条形颜色.这是我的数据框:
area <- c("Pó?noc", "Po?udnie", "Wschód", "Zachód")
sale <- c(16.5, 13.5, 14, 13)
df.sale <- data.frame(area, sale)
colnames(df.sale) <- c("Obszar sprzeda?y", "Liczba sprzedanych produktów (w tys.)")
Run Code Online (Sandbox Code Playgroud)
和绘图代码:
plot.sale.bad <- ggplot(data=df.sale, aes(x=area, y=sale, fill=area)) +
geom_bar(stat="identity") +
scale_fill_manual(values=c("black", "red", "black", "black")) +
xlab(colnames(df.sale)[1]) +
ylab(colnames(df.sale)[2]) +
ggtitle("Porównanie sprzeda?y")
Run Code Online (Sandbox Code Playgroud)
我想只有一个彩色条和另外3个有默认颜色(暗灰色,不是黑色,对我来说看起来很糟糕).如何更改仅在条形图上的颜色或如何获取条形图的默认颜色名称而不是黑色?
我发现并被引导到许多帖子,显示如何将统计数据放置在 ggplot 中条形图的所有条形上方,但我还没有找到一个显示如何仅显示条形图中一个条形上方的计数/百分比的帖子。
例如下面的图:
ggplot(mtcars, aes(x = gear)) + geom_bar() +
geom_text(stat='count',aes(label=..count..),vjust=-1)
Run Code Online (Sandbox Code Playgroud)
我怎样才能在中间栏上方打印“12”并禁止打印“5”和“15”。我想显示上面计数的条形图会因图而异(例如,在另一个图中,我想显示 5 个条形图中第四大条形上方的统计数据)。
我有一个列名的数据框,如下所示:
[127] "quiz.32.player.submitted_answer_private" "quiz.32.player.rescue_event"
[129] "quiz.33.player.solution" "quiz.33.player.submitted_answer"
[131] "quiz.33.player.submitted_answer_private" "quiz.33.player.rescue_event"
[133] "partner_quiz.1.player.solution" "partner_quiz.1.player.submitted_answer"
[135] "partner_quiz.1.player.submitted_answer_private" "partner_quiz.1.player.rescue_event"
[137] "partner_quiz.2.player.solution" "partner_quiz.2.player.submitted_answer"
[139] "partner_quiz.2.player.submitted_answer_private" "partner_quiz.2.player.rescue_event"
Run Code Online (Sandbox Code Playgroud)
我试图通过提取上一期右侧的值和它左侧的值来分离这些值。为此,我的 dplyr 管道如下:
frame <- data %>%
gather(k, value) %>%
separate(k, into = c("quiz_number", "suffix"), sep = "\\.(?=player)")
Run Code Online (Sandbox Code Playgroud)
出于某种原因,生成的 data.frame 省略了所有以“partner”为前缀的列。任何想法为什么?
编辑:生成的拆分应该在列quiz_number中包含上一期左侧的所有内容(例如
quiz.32.player和partner_quiz.2.player),并在“后缀”列中包含上一期右侧的所有内容(例如submitted_answer_private和solution)
我正在尝试使用unvotes标记为每个问题类别“重要”的投票数的数据来重现水平条形图(如下所示)。问题按频率排序。我尝试了以下但停留在情节如何生成ggplot
到目前为止我的方法:
library(dplyr)
library(unvotes)
library(ggplot2)
unique(issues$issue)
issues1 = issues %>% left_join(roll_calls)
issues1 %>%
mutate(date2 = ymd(date)) %>%
mutate(year = year(date2)) -> issues1
head(issues1)
Run Code Online (Sandbox Code Playgroud)
输出 dput
> dput(head(issues))
structure(list(rcid = c(77, 9001, 9002, 9003, 9004, 9005), short_name = c("me",
"me", "me", "me", "me", "me"), issue = c("Palestinian conflict",
"Palestinian conflict", "Palestinian conflict", "Palestinian conflict",
"Palestinian conflict", "Palestinian conflict")), row.names = c(NA,
-6L), class = c("tbl_df", "tbl", "data.frame"))
Run Code Online (Sandbox Code Playgroud)