重新排列图例和条形图以分组条形图

时间:2019-03-26 18:26:39

标签: refactoring r-markdown forcats

output使用Rmarkdown打印到PDF。

我已经创建了一个宏函数,但是在为分组的条形图校正我的图例的顺序时遇到了麻烦。

创建的数据表有4列。 1-位置:(西班牙,葡萄牙,乌克兰) 2-协议级别:(完全同意,同意,不同意,非常不同意,缺失) 3-与协议级别相对应的ID级别(1、2、3、4和0表示缺失) 4-计数值

我想创建一个分组的条形图(按位置分组)并绘制每个协议级别的计数值。

注意!!由于这是一个宏功能,因此协议级别有时可能会更改为满意度级别(极其不满意,不满意,满意,非常满意)。这就是为什么我包含id数值级别的原因。

我的问题是我不能按顺序订购图例/分组条形图。

我可以使用ID级别进行订购,但是我的图例仅显示无用的数字。我需要图例来显示数字代表的含义(1 =强烈同意,2 =同意分机)

是否可以通过ID(0、1、2、3、4)对我的等级进行排序,但显示其值?

我尝试了forcats,重新排序,因子/水平,groupby ...,但似乎仍未获得正确的输出

随附了一些当前输出的图像,但是如图所示,我仍然需要更正级别/传奇顺序。

macrofunction <- function(df_table) {
plots = ggplot(df_table, aes(x=location, y=as.numeric(df_table$Value), fill=levels)) +
   geom_bar(stat="identity", position=position_dodge()) }

1 个答案:

答案 0 :(得分:0)

对于有兴趣的人,我采用了不同的方法来解决问题。 我最终使用facet_wrap来解决此问题。

图= ggplot(df_table,aes(x = id,y = as.numeric(df_table $ Value),fill = Response))+   geom_bar(stat =“ identity”,position = position_dodge())+   facet_wrap(〜location)+