R - 创建绘图网格,然后绘制数据点

时间:2015-04-10 12:41:37

标签: r plot categories scatter-plot

我想知道是否可以在R中仅创建绘图的“网格”,然后根据矩阵中的值添加数据点。例如,我想在X轴上有一些日历年值,在Y轴上有一些国家的名称。然后,根据我的矩阵中的数据,我会在需要的图表中添加一个点。 示例数据: Y_labels = c("Austria", "Belgium", "Germany", "Spain")X_labels = c(1990, 1991, 1992, 1993, 1994, 1995)。让我们假设包含要绘制的数据点的向量类似于x = cbind(c(1991, 1993, 1995),c("Belgium", "Spain", "Belgium"))。然后我会在比利时 - 1991年添加一个点/圈/任何东西。任何帮助都表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:2)

是的,你可以!

只需创建一个空图,类型为“n”(无)

df <- data.frame(year = c(1992, 1995, 1998, 1999), 
                 country = c("Austria", "Spain", "Spain", "Germany"))

# All the possible countries
all.countries <- c("Austria", "Belgium", "Germany", "Spain");
# Convert df$country to a factor
df$country <- factor(df$country, levels=all.countries)
# yaxt="n" hides the y axis, be sure to specify xlim and ylim
# so that your data fits in the graph!
plot(0, t="n", xlim=c(1990, 2000), ylim=c(1, length(all.countries)), 
     yaxt="n", xlab="Year", ylab="Country")
# Plot a y axis
axis(2, at=1:length(all.countries), labels=all.countries)
# points plots over an existing graph
points(df, pch=20)