【发布时间】:2018-06-11 18:03:16
【问题描述】:
我的 x 轴刻度标签出现的顺序有问题。我创建了一个包含组合数据的图表。在 x 轴上,我标记了使用的样本,但是对于前三个数据集(六、八、十二周),每个条形列使用了两个样本。在最后一组(终点)中,AbxFMT_2901 应该对应于前三个数据集的 AbxFMT_2901/2902,因为在终点我只有一个样本(2901)而丢失了另一个样本(2902)。该标签应该只出现在终点部分,并且应该是第一个。
这是我用来生成图表的代码:
df = bind_rows(six_wks_huCD45_AbxFMT, eight_wks_huCD45_AbxFMT, twelve_wks_huCD45_AbxFMT, terminal_data_huCD45_PBL_AbxFMT)
df$orderweeks = factor(df$weeks, levels = c('six weeks', 'eight weeks', 'twelve weeks', 'terminal point'))
df$Sample. <- as.character(df$Sample.)
df$ordersample <- factor(df$Sample., levels = unique(df$Sample.))
df_plot <- ggplot(df, aes(x = df$ordersample, y =df$`huCD45 Cell count`, group = weeks, fill = weeks))+ geom_bar(position = "dodge", stat = "identity") + facet_grid(.~orderweeks)
df_plot + labs(x = "Samples", y= "huCD45 cell count", title = "PBL Analysis of Abx+FMT Treatment") + scale_fill_discrete(breaks = c("six weeks", "eight weeks", "twelve weeks", "terminal point")) + theme(axis.text.x = element_text(angle = 90))
这是数据框的示例:
Sample. huCD45 Cell count weeks orderweeks ordersample
1 AbxFMT_2901/2902 860.0 six weeks six weeks AbxFMT_2901/2902
2 AbxFMT_2903/2904 3736.0 six weeks six weeks AbxFMT_2903/2904
3 AbxFMT_2905/2906 7137.0 six weeks six weeks AbxFMT_2905/2906
4 AbxFMT_2907/2908 2183.0 six weeks six weeks AbxFMT_2907/2908
5 AbxFMT_2909/2910 7485.0 six weeks six weeks AbxFMT_2909/2910
6 AbxFMT_2911/2912 3509.0 six weeks six weeks AbxFMT_2911/2912
7 AbxFMT_2901/2902 28296.0 eight weeks eight weeks AbxFMT_2901/2902
8 AbxFMT_2903/2904 18084.0 eight weeks eight weeks AbxFMT_2903/2904
9 AbxFMT_2905/2906 27602.0 eight weeks eight weeks AbxFMT_2905/2906
10 AbxFMT_2907/2908 16706.0 eight weeks eight weeks AbxFMT_2907/2908
11 AbxFMT_2909/2910 22571.0 eight weeks eight weeks AbxFMT_2909/2910
12 AbxFMT_2911/2912 18731.0 eight weeks eight weeks AbxFMT_2911/2912
13 AbxFMT_2901/2902 39975.0 twelve weeks twelve weeks AbxFMT_2901/2902
14 AbxFMT_2903/2904 19042.0 twelve weeks twelve weeks AbxFMT_2903/2904
15 AbxFMT_2905/2906 68493.0 twelve weeks twelve weeks AbxFMT_2905/2906
16 AbxFMT_2907/2908 23533.0 twelve weeks twelve weeks AbxFMT_2907/2908
17 AbxFMT_2909/2910 50678.0 twelve weeks twelve weeks AbxFMT_2909/2910
18 AbxFMT_2911/2912 43465.0 twelve weeks twelve weeks AbxFMT_2911/2912
19 AbxFMT_2901 1318.0 terminal point terminal point AbxFMT_2901
20 AbxFMT_2903/2904 4565.5 terminal point terminal point AbxFMT_2903/2904
我尝试了使用 scale_x_discrete 和 Continuous 的各种方法,但它不起作用。非常感谢任何建议。谢谢!!
【问题讨论】:
-
你能发布你正在运行的代码和示例数据吗?请使用代码编辑问题,包括对
library()的调用和dput(df)的输出。或者,如果dput(head(df, 20))的输出太大。 (df是您的数据集的名称。) -
没问题!
-
你需要改变的一点是:
facet_grid(.~orderweeks, scales = 'free_x')