7

我有一个数字向量,并希望在 x 轴上通过它们的名称在 y 轴上绘制每个值。

例子:

quantity <- c(3,5,2)
names(quantity) <- c("apples","bananas", "pears")
plot(quantity)

每个值都用它的索引号沿 x 轴绘制,即。1,2,3。我怎样才能让它显示(“苹果”、“香蕉”、“梨”)?

4

5 回答 5

10

您可以使用函数axis()添加标签。xaxt="n"内部的参数plot()将使绘图没有 x 轴标签(数字)。

plot(quantity,xaxt="n")
axis(1,at=1:3,labels=names(quantity))
于 2013-06-23T17:47:07.307 回答
7

你找barplot吗?

barplot(quantity)
于 2013-06-23T17:48:44.750 回答
4

另一个选项使用lattice

library(lattice)
barchart(quantity)

在此处输入图像描述

于 2013-06-23T18:05:41.090 回答
2

我遇到了同样的问题,所以我发现了这个问题,但是一旦我查看了答案并看到您可以使用 names(named.vector) 从 named.vector 中获取名称。然后我尝试了这个,它奏效了。

plot(x = quantity, y = names(quantity))

我觉得这比这个问题的许多答案更干净、更简单。甚至被接受的那个。

于 2021-02-11T04:11:40.763 回答
1

您可以使用barplotggplot2并获得以下图表

quantity <- c(3, 5, 2)
names(quantity) <- c("apples", "banans", "pears")
barplot(quantity, main="Fruit Names vs. Quantity", xlab = "Names", ylab="Quantity", col=c("blue", "red", "yellow"))
legend("topright", legend=c("apples", "banas", "pears"), fill=c("blue", "red", "yellow"))

在此处输入图像描述

于 2016-02-09T22:36:54.027 回答