我有一个数字向量,并希望在 x 轴上通过它们的名称在 y 轴上绘制每个值。
例子:
quantity <- c(3,5,2)
names(quantity) <- c("apples","bananas", "pears")
plot(quantity)
每个值都用它的索引号沿 x 轴绘制,即。1,2,3。我怎样才能让它显示(“苹果”、“香蕉”、“梨”)?
您可以使用函数axis()
添加标签。xaxt="n"
内部的参数plot()
将使绘图没有 x 轴标签(数字)。
plot(quantity,xaxt="n")
axis(1,at=1:3,labels=names(quantity))
你找barplot
吗?
barplot(quantity)
另一个选项使用lattice
:
library(lattice)
barchart(quantity)
我遇到了同样的问题,所以我发现了这个问题,但是一旦我查看了答案并看到您可以使用 names(named.vector) 从 named.vector 中获取名称。然后我尝试了这个,它奏效了。
plot(x = quantity, y = names(quantity))
我觉得这比这个问题的许多答案更干净、更简单。甚至被接受的那个。
您可以使用barplot
或ggplot2
并获得以下图表
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"))