首页 > 解决方案 > 错误:使用 scale_colour_hue 时向 ggplot2 中的离散比例提供连续值

问题描述

我已经绘制了一个图表,该图表与我使用 y=absorbance,dose=x 的脚本完美配合,不同的曲线代表时间。当我想更改为具有时间 = x 和剂量表示曲线时,我得到错误:提供给离散刻度的连续值。

我的脚本中没有任何离散比例集,如下所示:

pd <- position_dodge(0.1) 
ggplot(Cell_line_absorbance_summary, aes(x=Time, y=absorbance, colour=Dose, group=Dose)) + 
  geom_errorbar(aes(ymin=absorbance-se, ymax=absorbance+se), colour="black", width=.1, position=pd) +
  geom_line(position=pd) +
  geom_point(position=pd, size=3, shape=21, fill="white") + # 21 is filled circle
  xlab("Time (h)") +
  ylab("Absorbance") +

  scale_colour_hue(name="X-ray exposure",    # Legend label, use darker colors
   breaks=c("0", "2", "4", "6", "8", "10"), #forlater when IC50 available labels=c("24h (IC50 = 13 nM)", "48h (IC50 = 3.3 nM)", "72h (IC50 = 2.5 nM)"),
                   l=40) +                    

ggtitle("HCC38") +
  expand_limits(y=0) +                        
  scale_y_continuous() +      
  scale_x_continuous(limits = c(0,400),breaks=0:400*24) +
  theme_classic() +                          
  theme(legend.justification=c(0,0),
        legend.position=c(0,0))    +          
  scale_color_jco()

我试图将 scale_x_continuous 切换到 scale_x_discrete (以及 y ,因为我的所有数据都是连续的,所以只会导致相同的错误。)

我目前正在运行的特定软件包是:Rmisc、ggplot2 和 ggsci。

非常感谢任何帮助和建议,因为我对使用 R 比较陌生。

标签: rggplot2error-handling

解决方案


它看起来Dose是连续的而不是离散的。如果您将其更改为 afactor它应该没问题。尝试:

Cell_line_absorbance_summary$Dose <- as.factor(Cell_line_absorbance_summary$Dose)

推荐阅读