我有这样的数据集:
data which repticker
40.87000 actual 603126
38.36000 actual 603168
15.04000 actual 603188
14.07000 actual 603306
7.42000 actual 603328
58.84818 model.pred 603126
41.74658 model.pred 603168
40.30288 model.pred 603188
28.19353 model.pred 603306
60.13398 model.pred 603328
我想这样绘制结果:
我的代码在这里,但它只绘制了3个股票。
ggplot(dd, aes(x=repticker, y=data, fill=which)) +
geom_bar(stat = "identity", width=0.5, position="dodge", colour="black") +
scale_fill_brewer(palette="Pastel1")
答案 0 :(得分:1)
我认为这是因为repticker
是数字,您希望将其视为一个因素。所以用as.factor
包装它,如下所示:
dd <- read.table(text="data which repticker
40.87000 actual 603126
38.36000 actual 603168
15.04000 actual 603188
14.07000 actual 603306
7.42000 actual 603328
58.84818 model.pred 603126
41.74658 model.pred 603168
40.30288 model.pred 603188
28.19353 model.pred 603306
60.13398 model.pred 603328", header=TRUE)
ggplot(dd, aes(x=as.factor(repticker), y=data, fill=which)) +
geom_bar(stat = "identity", width=0.5, position="dodge", colour="black") +
scale_fill_brewer(palette="Pastel1")
从我的角度来看,这更容易查看/比较(因为我认为这是你的目的)作为一个行geom如下:
ggplot(dd, aes(x=as.factor(repticker), y=data, color=which, group=which)) +
geom_line(size=1)
点图也可能有用。