绘制x和y轴上的公共标签及其索引

时间:2015-10-18 14:36:42

标签: r

我是R的新手,我想以图表为例。我的x和y值如下:

   a          b
orange     tomato
apple      butter 
tomato     graps
chiku      orange
graps      apple
potato     chiku
onion      butter
ginger     cheese
cheese     onion
butter     ginger

现在在x轴上,我想要a的值(不是索引,而是上面显示为'a'的名称)和a表中的y轴'b'。
现在我想在交叉点绘制散点图。对于前者在'a'中'orange'的索引是1而在'b'中'orange'的索引是4,所以在graphIi中想要指向(1,4)橙色的交点。 其余值也是如此。我不知道如何策划这个,我过去几天都在痛苦。

1 个答案:

答案 0 :(得分:1)

我把黄油之一变成了马铃薯,因为我认为这是一个错字。

dd <- read.table(header = TRUE, text = "a          b
orange     tomato
apple      butter 
tomato     graps
chiku      orange
graps      apple
potato     chiku
onion      potato
ginger     cheese
cheese     onion
butter     ginger")

dd <- within(dd, {
  x <- factor(a, levels = a)
  y <- factor(x, levels = b)
})

plot(idx <- sapply(dd[, c('x','y')], as.numeric))
text(idx, labels = dd$a, pos = 1, xpd = NA)

enter image description here

修改

plot(idx <- sapply(dd[, c('x','y')], as.numeric), xaxt = 'n', yaxt = 'n')
text(idx, labels = dd$a, pos = 1, xpd = NA)

axis(1, at = seq_along(dd$a), labels = dd$a)
axis(2, at = seq_along(dd$b), labels = dd$b, las = 1)

enter image description here