使用R,任何人都可以告诉我如何绘制一个简单的直方图,在以下数据的区间之间没有间隙: -
Class Width Freq. Dist
0 <= x < 5 0.2
5 <= x < 15 0.1
15 <= x < 20 1.2
20 <= x < 30 0.4
30 <= x < 40 0.4
所以我希望X轴从0-5,5-15,15-20,20-30和30-40变为适当的条形。
提前致谢!
答案 0 :(得分:2)
这个怎么样?
breaks <- c(0,5,15,20,30,40)
counts <- c(0.2, 0.1, 1.2, 0.4, 0.4)
barplot(counts,
names=sprintf("[%g,%g)",
breaks[-length(breaks)], breaks[-1]
),
space=0
)
这将为您提供相等宽度的条形图。另一方面,如果您想获得各种宽度的条形,请输入:
barplot(counts, diff(breaks),
names=sprintf("[%g,%g)", breaks[-length(breaks)], breaks[-1]),
space=0
)
此外,这将给你一个普通的&#34; X轴:
barplot(counts, diff(breaks), space=0)
axis(1)
如果您想在breaks
中的点完全获得轴断点,请输入:
axis(1, at=breaks)
答案 1 :(得分:2)
我会查看R的“HistogramTools”包。
breaks <- c(0, 5, 15, 20, 30, 40)
counts <- c(0.2, 0.1, 1.2, 0.4, 0.4)
library(HistogramTools)
plot(PreBinnedHistogram(breaks, counts), main = "")