【发布时间】:2020-10-28 20:31:13
【问题描述】:
我有一组数据,我想为这些数据绘制一个条形图。数据示例如下:
yq flag n ratio
<yearqtr> <fct> <int> <dbl>
1 2011 Q1 0 269 0.610
2 2011 Q1 1 172 0.390
3 2011 Q2 0 266 0.687
4 2011 Q2 1 121 0.313
5 2011 Q3 0 239 0.646
6 2011 Q3 1 131 0.354
7 2011 Q4 0 153 0.668
8 2011 Q4 1 76 0.332
9 2012 Q1 0 260 0.665
10 2012 Q1 1 131 0.335
11 2012 Q2 0 284 0.676
12 2012 Q2 1 136 0.324
13 2012 Q3 0 197 0.699
14 2012 Q3 1 85 0.301
15 2012 Q4 0 130 0.688
16 2012 Q4 1 59 0.312
17 2013 Q1 0 273 0.705
18 2013 Q1 1 114 0.295
19 2013 Q2 0 333 0.729
20 2013 Q2 1 124 0.271
我想要做的基本上是绘制每个季度每个标志的比率。我写了下面的代码:
data$flag <- as.factor(data$flag)
ggplot(data=data, aes(x=yq, y=ratio, fill=flag)) +
geom_bar(stat="identity", color="black", position=position_dodge())+
theme_minimal() +
scale_fill_manual(values=c('#999999','#E69F00'))
结果如下图:
但我真正想要的是在 x 轴上显示所有四分之一,并且可能以垂直形式显示更好的可视化。我尝试使用 scale_x_discrete(limits=yq) 但是,这不是正确的答案并返回错误。我该怎么做?
【问题讨论】:
-
下次请将您的数据提供为
dput(data),这样可以节省我们尝试重新创建数据的时间。 -
@zx8754 你是对的。我应该这样做的。感谢您的评论
标签: r ggplot2 bar-chart axis-labels zoo