这听起来不像直方图的工作 - 事件不是一个连续变量。 barplot或dotplot可能更适合。
某些伪数据
set.seed(123)
vec <- sample(1:9, 100, replace = TRUE)
vec <- factor(vec, labels = paste("My long event name", 1:9))
甲barplot经由barplot()
函数产生 - 我们提供它使用用于方便table()
函数的每个事件的计数。在这里,我们需要旋转使用las = 2
标签和
## lots of extra space in the margin for side 1
op <- par(mar = c(10,4,4,2) + 0.1)
barplot(table(vec), las = 2)
par(op) ## reset
点阵图通过功能dotchart()
生产并具有分选出来的情节利润率为我们
dotchart(table(vec))
的更加方便的保证金创建标签的一些额外的空间
dotplot比barplot的优势在于使用更少的墨水来显示相同的信息,并关注组间计数的差异而不是计数的大小。
请注意我如何将数据设置为一个因子。这使我们可以将事件标签存储为该因子的标签 - 从而自动执行绘图中轴的标注。这也是存储数据的一种很自然的方式,就像我理解你拥有的那样。
如果有人使用hist(),那么减小标签大小的方法是使用cex.axis。它看起来与barplot使用相同的绘图参数,但在测试回答后,它看起来是cex.names,因为在barplot()中“数字”标签似乎与“字符”不同。 – 2010-11-09 02:37:50
条形标签和计数轴标签是通过对'axis()'的两次单独调用绘制的。当在外部调用par()时设置'cex.axis'会改变这两个标签,因为'cex.axis'和'cex.name'采用'par(“cex.axis”)'作为默认值。如果你向'barplot()'调用'cex.axis',你并没有改变'par(“cex.axis”)',因此标签不会改变大小。在'hist()'中,您正在绘制两个同时绘制的数字轴,因此都受到'cex.axis'的影响。 – 2010-11-09 09:00:36