我需要绘制一个图表,其中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
答案 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