我有一个名为bigDF的数据框:
time price side PointColor shares PointSize ShapeType
231 2014-12-10 18:07:14.000 50 B green 287 10 16
37016 2014-12-10 18:07:14.555 50 black 0 1 10
37019 2014-12-10 18:07:15.428 50 black 0 1 10
232 2014-12-10 18:07:16.000 50 B green 713 10 16
37020 2014-12-10 18:07:17.052 50 black 0 1 10
37021 2014-12-10 18:07:17.161 50 black 0 1 10
37023 2014-12-10 18:07:17.316 50 black 0 1 10
233 2014-12-10 18:07:26.000 50 B green 200 10 16
37024 2014-12-10 18:07:27.066 50 black 0 1 10
234 2014-12-10 18:07:28.000 50 B green 700 10 16
37027 2014-12-10 18:07:28.346 50 black 0 1 10
235 2014-12-10 18:07:31.000 50 B green 100 10 16
当我去绘制价格并突出显示我得到的一些点并且错误时:
ggplot(bigDF, aes(x=time, y=price)) + geom_line() + geom_point( aes(shape = as.factor(ShapeType)), size=PointSize, color = PointColor)
Error in do.call("layer", list(mapping = mapping, data = data, stat = stat, :
object 'PointSize' not found
为什么找不到磅值?它在数据框中?
谢谢。
答案 0 :(得分:2)
ggplot2只能找到data
的列(如果您在DF$column
中引用它们,则不会明确指定aes
)。我相信你想要geom_point(aes(shape = as.factor(ShapeType), size=PointSize, color = PointColor))
。注意括号的不同放置。另请注意,这会将这些变量映射到size
和color
。看起来您还想使用as.factor
并使用scale_color_manual
和scale_size_manual
。我建议学习一些ggplot2教程。