将文本放在图的X轴上

时间:2010-07-08 09:44:22

标签: r graph

我需要绘制一个图表,其中X值都是名称-e.g.美国各州

并且Y值是数字的并且按降序排列 - 例如美国各州的人口。

目前,当我使用绘图功能时,它会绘制一个图形,但a)Y值不是降序的,而b)X轴显示一堆递增的数字,而不是状态的名称。

感谢您的帮助。

编辑:

我使用的是R的数据集:state.name和state.area

  

>state.name

[1]"Alabama" etc
  

>state.area

[1] 51609 etc

我的实际数据非常相似所以我只是在玩那些。

Trial.Group   Mean Heart Rate      Upper Confidence Interval    Lower Confidence Interval
33subj-Male   80                    120                          70

2 个答案:

答案 0 :(得分:2)

听起来你想要一个条形图(或者一个点图)。 R中有3种不同的绘图系统;这里是按优先顺序排列的解决方案。

#Some US state data
data(state)
dfr <- data.frame(name = state.name, area = state.area)
dfr$name <- with(dfr, factor(name, levels = name[order(area)]))

#The ggplot way
library(ggplot2)
ggplot(dfr, aes(name, area)) + geom_bar() + coord_flip()

#The lattice way
library(lattice)
barchart(name ~ area, data = dfr)

#The base way
par(las = 1, mar = c(4, 7, 1, 1))
with(dfr, barplot(area, names.arg = name, horiz = TRUE))

编辑: 我使条形水平,以便更容易阅读标签。

答案 1 :(得分:0)

传统图形的另一个例子

barplot(dfr$area,
        las=2,
        names.arg = dfr$name,
        cex.names=0.7)

下面的链接显示了如何在条形图下拟合长名称。 http://onertipaday.blogspot.com/2008/09/fitting-text-under-plot.html