Данные доступны здесь .
Я пытаюсь сгенерировать приведенный ниже график (доля лиц в год), за исключением того, что мне нужно масштабировать все точки (resF
, resM
, immF
и immM
) до количества наблюдений для каждого столбца (resFN
, resMN
, immFN
и immMN
).![enter image description here](https://i.stack.imgur.com/uNxCx.jpg)
Код, который я использую для построения вышеуказанного графика, приведен ниже:
library (plotrix)
plot(resF~year,data=data, type="b", col="black", xlab="Settlement year", ylab="Number of individuals", bty="l", pch=17, ylim=c(0,1))
ablineclip(v=1993, col="grey95", lwd=14, y1=0)
ablineclip(v=1998, col="grey95", lwd=14, y1=0)
ablineclip(v=2005, col="grey95", lwd=14, y1=0)
ablineclip(v=2010, col="grey95", lwd=14, y1=0)
ablineclip(v=2014, col="grey95", lwd=14, y1=0)
points(resF~year,data=data, col="black", type="b", pch=17)
points(resM~year,data=data, col="grey", type="b", pch=16)
points(immF~year,data=data, col="red", type="b", pch=17)
points(immM~year,data=data, col="orange", type="b", pch=16)
legend("topright", c("Resident females","Resident males", "Immigrant females", "Immigrant males"), col=c("black", "grey","red", "orange"), pch=c(17, 16, 17, 16), box.lty=0)
Я строю resF
и добавляю точки для resM
, immF
и immM
.Я хочу масштабировать точки в соответствии с количеством наблюдений для каждого столбца.Например, resF
потребуется изменить масштаб в соответствии с количеством наблюдений в столбце resFN
, resM
, масштабированным до числа в resMN
и т. Д.
В зависимости от того, что у меня есть прочитайте , я должен быть в состоянии изменить размеры точек, добавив symbols(x=data$resFN, y=data$year, circles=sqrt(data$resFN/pi), inches=1/3, ann=F, bg="steelblue2", fg=NULL)
к моему plot()
коду.Я сталкиваюсь с проблемами, так как я добавляю несколько points()
к исходному plot()
, и я также изменяю масштаб в соответствии со значениями в разных столбцах.
Есть предложения о том, как я могу это сделать?