我如何使用 BaseR 确定图例的形式?
How can I determine the form of my legend with BaseR?
我正在尝试复制以下图表:
这是我到目前为止设法做到的:
library(carData)
UN <- as.data.frame(UN)
layout(matrix(c(1, 2, 3, 3), 2, 2, byrow = TRUE))
col.vec <- c("blue", "turquoise1", "green", "palegreen",
"orange", "red", "violet", "purple")[UN$region]
pch.vec <- c(8, 6, 5, 4, 3, 2, 1, 0)[UN$region]
plot(UN$ppgdp, UN$infantMortality,
xlab = "Gross Domestic Product per Capita",
ylab = "Infant Mortality",
xaxt = "n",
las = 1,
col = col.vec,
pch = pch.vec)
axis(side = 1, at = c(0, 20000, 40000, 60000, 80000, 100000),
labels = c(0, "", 40000, "", 80000, ""))
plot(UN$region, UN$infantMortality,
xlab = "Region",
ylab = "Infant Mortality",
xaxt = "n",
las = 1,
col = c("blue", "turquoise1", "green", "palegreen",
"orange", "red", "violet", "purple"))
plot.new()
legend('center',
legend = UN$region,
pch = pch.vec,
col = col.vec)
我的问题是我不知道如何确定图例的形状。我想要与上图完全相同的形状,一个矩形。有人能告诉我怎么做吗(不使用 ggplot2 或任何其他包)?
使用因数定义 col
和 pch
。对于图例,只使用一个 vec
的水平,并沿着它做 seq
uences。并使用 tex.col=
.
library(carData)
UN <- as.data.frame(UN)
layout(matrix(c(1, 2, 3, 3), 2, 2, byrow = TRUE))
plot(UN$ppgdp, UN$infantMortality,
xlab = "Gross Domestic Product per Capita",
ylab = "Infant Mortality",
xaxt = "n",
las = 1,
col = UN$region,
pch = as.numeric(UN$region))
axis(side = 1, at = c(0, 20000, 40000, 60000, 80000, 100000),
labels = c(0, "", 40000, "", 80000, ""))
plot(UN$region, UN$infantMortality,
xlab = "Region",
ylab = "Infant Mortality",
xaxt = "n",
las = 1,
col = c("blue", "turquoise1", "green", "palegreen",
"orange", "red", "violet", "purple"))
plot.new()
vec <- levels(UN$region)
legend('center',
legend = vec,
ncol=4,
pch = seq(vec),
col = seq(vec),
text.col=seq(vec))
我正在尝试复制以下图表:
这是我到目前为止设法做到的:
library(carData)
UN <- as.data.frame(UN)
layout(matrix(c(1, 2, 3, 3), 2, 2, byrow = TRUE))
col.vec <- c("blue", "turquoise1", "green", "palegreen",
"orange", "red", "violet", "purple")[UN$region]
pch.vec <- c(8, 6, 5, 4, 3, 2, 1, 0)[UN$region]
plot(UN$ppgdp, UN$infantMortality,
xlab = "Gross Domestic Product per Capita",
ylab = "Infant Mortality",
xaxt = "n",
las = 1,
col = col.vec,
pch = pch.vec)
axis(side = 1, at = c(0, 20000, 40000, 60000, 80000, 100000),
labels = c(0, "", 40000, "", 80000, ""))
plot(UN$region, UN$infantMortality,
xlab = "Region",
ylab = "Infant Mortality",
xaxt = "n",
las = 1,
col = c("blue", "turquoise1", "green", "palegreen",
"orange", "red", "violet", "purple"))
plot.new()
legend('center',
legend = UN$region,
pch = pch.vec,
col = col.vec)
我的问题是我不知道如何确定图例的形状。我想要与上图完全相同的形状,一个矩形。有人能告诉我怎么做吗(不使用 ggplot2 或任何其他包)?
使用因数定义 col
和 pch
。对于图例,只使用一个 vec
的水平,并沿着它做 seq
uences。并使用 tex.col=
.
library(carData)
UN <- as.data.frame(UN)
layout(matrix(c(1, 2, 3, 3), 2, 2, byrow = TRUE))
plot(UN$ppgdp, UN$infantMortality,
xlab = "Gross Domestic Product per Capita",
ylab = "Infant Mortality",
xaxt = "n",
las = 1,
col = UN$region,
pch = as.numeric(UN$region))
axis(side = 1, at = c(0, 20000, 40000, 60000, 80000, 100000),
labels = c(0, "", 40000, "", 80000, ""))
plot(UN$region, UN$infantMortality,
xlab = "Region",
ylab = "Infant Mortality",
xaxt = "n",
las = 1,
col = c("blue", "turquoise1", "green", "palegreen",
"orange", "red", "violet", "purple"))
plot.new()
vec <- levels(UN$region)
legend('center',
legend = vec,
ncol=4,
pch = seq(vec),
col = seq(vec),
text.col=seq(vec))