2

我尝试使用scale_colour_discrete. 这里出现了类似的问题

p <- ggplot(myData, aes(myFeature1,myFeature2))
p <- p + geom_point(aes(colour = myFeature3)) + facet_grid(n ~ cond)
p <- p + scale_colour_discrete(breaks = levels(myData$myFeature3), labels = c(expression(myFeature3[1]),expression(myFeature3[2]))

但是,会出现以下错误: FUN(X[[1L]], ...) 中的错误:无法将“符号”类型强制转换为“双”类型的向量

这个错误不会发生,没有在labels定义expression中。它确实发生在expression.

关于这个主题的任何想法?只是不scale_colour_discrete工作expression吗?还有另一种方法可以将下标添加到这些图例因素名称中吗?

非常感谢!

4

2 回答 2

1

没有您的数据就无法复制。尝试与帮助(scale_colour_discrete)中描述的“钻石”数据类似的东西:

d + scale_colour_discrete(breaks=levels(diamonds$clarity),labels=rep(expression(a^2),8))

工作,用数学符号的a-squared标记所有级别。

d + scale_colour_discrete(breaks=levels(diamonds$clarity),labels=rep(expression(clarity[1]),8))

作品,在所有级别都用清晰的下标1标记。

于 2011-12-20T13:56:45.837 回答
1

这是一个使用diamonds数据集的示例,其中钻石切工的标签被 Cut_1、...、Cut_5 替换。

ggplot(diamonds, aes(x = carat, y = price)) + 
  geom_point(aes(colour = cut)) + 
  facet_grid(color ~ clarity) + 
  scale_colour_discrete(breaks = levels(diamonds$cut), 
                        labels = c(expression(Cut[1]),
                                   expression(Cut[2]),
                                   expression(Cut[3]),
                                   expression(Cut[4]),
                                   expression(Cut[5])))

如果这不能帮助您找到问题的解决方案,您能否提供一个可重现的示例供其他人排除故障?

于 2011-12-21T12:51:23.917 回答