在 ggplot2 中用离散的 x 轴制作线图

Making line plot with discrete x-axis in ggplot2

我正在构建一个带有小平面网格的 ggplot2 图。在我的 Y 轴上是百分比,我的 X 轴是浓度(以数字表示)。每个方面有 3 组(0、24 和 48 小时)

ggplot(data=MasterTable, aes(x=Concentration, y=Percentage, group=Time)) + 
  geom_point() + 
  geom_line() + 
  facet_grid(Chemicals ~ Treatments) 

这将生成一个连续的 x 轴。由于值分布不均匀,我更喜欢离散轴来更好地可视化我的数据。我跟随 following tutorial 没有运气。第一个数字正是我想要做的。

我也试过格式化坐标轴:

scale_x_discrete(labels("0", "0.1", "2", "50"))

并格式化该行:

geom_line(aes(Time))

和以下 this tutorial.

我认为这个问题是x轴上的值是整数而不是字符串。这使得默认轴连续。我该如何改变这个?我确信解决方案很简单,我就是想不通。

提前致谢!

他们page对此进行了以下修改df2$dose<-as.factor(df2$dose)。您可以尝试将您的 x-axis 修改为 df2$Concentration<-as.factor(df2$Concentration)

或者像这样:

ggplot(data=MasterTable, aes(x=factor(Concentration), y=Percentage, group=Time)) + 
  geom_point() + 
  geom_line() + 
  facet_grid(Chemicals ~ Treatments)