ggplot + geom_point + 基于大小和颜色的图例

3
当使用geom_point时,是否有一种方法可以在图例中同时显示大小和颜色?
library(ggplot2)
cons2 <- data.frame(
  value_date  = as.Date(c('2013-04-30', '2013-04-30', '2013-06-13', '2013-06-13')),
  ticker = c('AAPL','FTW','AAPL','FTW'),
  discount = c(0.34,0.10,0.25,0.20),
  b = c(0.40,0.55,.60,0.90),
  yield = c(0.08,0.04, 0.06,0.03)
)

p <- ggplot(cons2)
p <- p + geom_point(aes(yield,b, size = discount, color=value_date))
p

这个图例只显示折扣大小(size(discount)),但我想同时显示颜色(value_date)和大小(size(discount))。

2个回答

3

ggplot2 对日期类不太熟悉。请尝试:

color=factor(value_date)

替代方案。


谢谢,这解决了我的问题。有办法仅在图例中显示 value_date,而不是 discount 吗? - Børge Klungerbo
@BørgeKlungerbo 是的,p + guides(size = "none") - joran
非常感谢您的及时回答! - Børge Klungerbo

1
由于某些原因,ggplot2没有自动识别出需要日期框架。请尝试明确告诉它:
ggplot(cons2) +
  geom_point(aes(yield, b, size = discount, color = value_date)) +
  scale_colour_gradient(trans = "date")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接