在boxplot r中选择x轴标签的频率

时间:2017-07-29 18:54:57

标签: r axis frequency boxplot

我正在尝试制作一个相当大的数据库的箱线图,以说明一年中每天的温度范围(天气变化):

boxplot(Datasubset$Temp~Datasubset$Day,las=2,data=Datasubset,main="Weather Variability",xlab=names(Datasubset)[1],ylab=names(Datasubset)[3])

Datasubset数据框如下所示:

Day Hour Temp
1/1/2015 1 3
2/1/2015 2 4
[...] [...] [...]
31/12/2015 8760 2

然而,我的x轴显示太多的值,这意味着它们重叠并变得不可读。是否可以调节x轴标签的频率?例如,每隔10天或20天只显示一个标签?

另外,我的xlab和ylab命令看起来有点人为。是否可以以更自然的方式引用数据框中列的名称?

这些可能是简单的事情,但我似乎无法在?boxplot中找到答案。

提前谢谢你。

1 个答案:

答案 0 :(得分:1)

您可以通过抑制x轴然后创建自己的自定义轴来实现此目的。例如,

# Create example data similar to what you described:
Datasubset <- data.frame(Day=as.Date(16436:16800, origin='1970-01-01'),
                         Temp=sample(1:10, 365, replace=TRUE))
# Make the boxplot, without x-axis ticks by specifying xaxt='n':
boxplot(Temp ~ Day, data=Datasubset, las=2, main="Weather Variability",
        xlab='Day', ylab='Temp', xaxt='n')
# Make a vector of values to draw ticks at:
ticks <- seq(from=1, to=365, by=90)
# And draw the axis:
axis(1, las=1, at=ticks, labels=Datasubset$Day[ticks])

创建以下图:

Weather Variability Plot

有关详情,请参阅par(特别是xaxt选项)和axis的帮助页面,执行help('par')help('axis')