R-单个散点图上的多列

时间:2018-11-01 16:14:07

标签: r ggplot2

您介意看看吗?

https://docs.google.com/spreadsheets/d/14vVWxhaQynPmnAsZHlrkkdeJTt0XlDzHc5JSd4DNF-Y/edit?usp=sharing

我有三个变量;第一个是2000-2017年的年度,第二个是2000-2017年每个国家的GDP,第三个是2000-2017年的足球排名。

我想画一个巨大的散点图; X轴为2000-2017年,排名从Y轴的底部200降低到顶部的1,而每个散点的大小随GDP的大小而变化。

我所能想到的只是绘制一个国家的散点图:

  

排名<-read.csv(“ Test1.csv”,sep =“,”,标头为TRUE)

     

库(ggplot2)

     

qplot(年,排名,数据=排名,大小=阿鲁巴)

但是我想在y轴反转的情况下将所有国家/地区拟合到一个散点图中,并尽可能绘制所有散点的线性回归。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

我不确定您希望如何完成回归。但是这是图。

编辑:因为有一个我从未听说过的名为“ Rankmibia”的国家,所以按前缀选择将不起作用,这次我使用了排名。

rank <- read.csv("Test1.csv", sep=",", header=TRUE)

library(tidyr)
library(ggplot2)
library(dplyr)

r=rank %>% select(seq(3,ncol(rank),2)) %>% gather(id,rank)
g=rank %>% select(1,seq(2,ncol(rank),2)) %>% gather(country,GDP,-Year)

df=cbind(g, rank=r$rank)
g=qplot(Year, rank , data = df, size = GDP, color=country)+scale_y_reverse()
ggsave("fig.png",g,width=40,height=20)

enter image description here