我在R中创建了一个直方图,它显示了向量中几个事件的频率.每个事件由[1,9]范围内的整数表示.我正在图表的垂直下方显示每个计数的标签.这是代码:
hist(vector, axes = FALSE, breaks = chartBreaks)
axis(1, at = tickMarks, labels = eventTypes, las = 2, tick = FALSE)
Run Code Online (Sandbox Code Playgroud)
不幸的是,标签太长了,所以它们会被窗户的底部切掉.我怎样才能让它们可见?我甚至使用正确的图表?
Dir*_*tel 10
查看help(par),特别是字段mar(边距)和oma(外边距).它可能很简单
par(mar=c(5,3,1,1)) # extra large bottom margin
hist(vector, axes = FALSE, breaks = chartBreaks)
axis(1, at = tickMarks, labels = eventTypes, las = 2, tick = FALSE)
Run Code Online (Sandbox Code Playgroud)
这听起来不像直方图的工作 - 事件不是连续变量.条形图或点图可能更合适.
一些虚拟数据
set.seed(123)
vec <- sample(1:9, 100, replace = TRUE)
vec <- factor(vec, labels = paste("My long event name", 1:9))
Run Code Online (Sandbox Code Playgroud)
通过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
Run Code Online (Sandbox Code Playgroud)
点图是通过函数生成的,dotchart()并且为我们排序绘图边距提供了额外的便利
dotchart(table(vec))
Run Code Online (Sandbox Code Playgroud)
点图比使用更少墨水显示相同信息的条形图具有优势,并且侧重于组间计数的差异而不是计数的大小.
请注意我如何将数据设置为一个因素.这允许我们将事件标签存储为因子的标签 - 从而自动标记图中的轴.它也是一种自然的方式来存储我理解你拥有的数据.
| 归档时间: |
|
| 查看次数: |
45414 次 |
| 最近记录: |