我想知道是否可以在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年添加一个点/圈/任何东西。任何帮助都表示赞赏。谢谢。
答案 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)