2013-10-17 55 views
0

我试图在R中的图上画两条线。数据与死亡行相关,CSV有三列:第一列是年份,第二列是死亡行数量,第三列是执行次数那年。R线图上有两组数据,但使用相同的X和Y轴?

我已经到了可以用X轴绘制两条直线的点,但是当数值范围相互重叠时,Y被搞乱了。

作为一个例子,每一个给定的年份是这样的:

... 
Year: 1968 Population: 1244 Executions: 34 
Year: 1969 Population: 1456 Executions: 11 
... 

注意人口与执行之间最大的区别。

我一直在运行这样的:

deathrow <- read.csv("death_row_by_year.csv", sep=",", header=T) 
plot(deathrow$Year, deathrow$Population, type="l", col="red") 
par(new=T) 
plot(deathrow$Year, deathrow$Executions, type="l", col="green") 

反正我利用绘图人口Y轴可以绘制执行数字?

+0

看看'lines()'函数。 – David

+0

'line(deathrow $ Year,deathrow $ Executions,type =“l”,col =“green”)''而不是第二个'plot'调用? – sgibb

+0

此外,除了检查'?lines'外,别忘了正确设置'plot'的'ylim'参数。像“plot(...,ylim = range(c(deathrow $ Population,deathrow $ Executions)))'。 –

回答

0

这里是我会怎么做:

deathrow <- read.csv("death_row_by_year.csv", sep=",", header=T) 
plot(range(deathrow$Year, na.rm=T), range(c(deathrow$Population, deathrow$Executions)), na.rm=T), type='n') 
lines(deathrow$Year, deathrow$Population, col="red") 
lines(deathrow$Year, deathrow$Executions, col="green") 

这里最重要的一块是调用plottype='n',所以没有绘制点,但轴被设置为正确的极限。可以说,你也可以在lines的调用中用xlim=range(...)ylim=range(...)指定这些限制。

相关问题