我的数据框由三列组成,如下所示:
ChildObject childObj = new ChildObject();
childObj.setUserId(123456);
getSession().save(childObj);
以下是整个数据框:
year | theme | count
-----------------------------
1998 WH 13
2001 WH 38
1999 WH 5
2011 NB 11
2010 NB 29
...
我想用x轴绘制'year',沿y轴绘制'theme',但有两个必要条件:
这将是散点图,其中符号由第三列中的值确定。
我可以向你展示我完全不成功的剧本,但是一篇文章的代码太多了。
任何建议都非常感谢。
答案 0 :(得分:1)
df$theme = reorder(df$theme, df$year, FUN = min)
ggplot(df, aes(x = year, y = theme, color = count)) + geom_point()
您可能希望删除“全部”,以便它不会支配count
中的变体,我们也可以在其中抛出size
,具体取决于计数。
ggplot(subset(df, theme != "ALL"),
aes(
x = year,
y = theme,
color = count,
size = count
)) + geom_point(alpha = 0.8)
答案 1 :(得分:1)
以一种非常基本的方式,您的代码可能是这样的:
ggplot(df, aes(x=year, y=theme, color=count, size=count)) +
geom_point() +
theme_minimal() +
theme(axis.text.y = element_text(size = 13), axis.text.x = element_text(size = 13), axis.title.y =element_text(size=15), axis.ticks = element_line(size = 0.5), axis.title.x=element_text(size=15)) +
background_grid(major = "none", minor = "none") +
scale_colour_gradient(low="grey", high="blue") +
panel_border()