0

我使用包创建了一些风玫瑰图openair,我对它们的结果非常满意,但从美学上讲,在面板之间留一些空间会很好。这是一个例子:

# windrose plot----
library(openair)
data("mydata")

windRose(mydata[1:144,], ws="ws", wd="wd", 
         paddle = F, 
         type = 'weekday', 
         key.header = 'Wind Speed (m/s)',
         key.footer = "",
         annotate = F,
         angle = 30, # angle of "spokes"...sort of bins for wind direction
         cols =  'jet',
         key.position = 'right',
         dig.lab = 2,
         statistic = 'prop.count', #“prop.count” sizes bins according to the 
         # proportion of the frequency of measurements
         fontsize = 20,
         grid.line = 100,
         max.freq = 105, # maximum value for the radial limits
         key = list(header = "Wind Speed (m/s)",
                    footer = '',
                    labels = c('0 to 2', '2 to 4', 
                               '4 to 6','6 or more'),
                    breaks = c(0,2,4,6)),
         layout = c(6,1)
)

有人对如何在面板之间添加空间有任何想法吗?

4

1 回答 1

0

经过一番挖掘,我发现这个绘图函数使用格子图,这里有一个很好的概要:https ://www.stat.auckland.ac.nz/~ihaka/787/lectures-trellis.pdf

具体来说,该xyplot函数用于创建格子图。的帮助文档?xyplot显示您可以调整参数between以实现面板之间的间距。between参数是一个列表,其中包含代表面板之间空间的 x 和 y 值。因此,我们可以简单地通过添加参数来调整上面的代码,between = list(x=0.25, y = 0.25)并且可以像这样调整 x 和 y 到我们的偏好:

library(openair)
data("mydata")

windRose(mydata[1:144,], ws="ws", wd="wd", 
         paddle = F, 
         type = 'weekday', 
         key.header = 'Wind Speed (m/s)',
         key.footer = "",
         annotate = F,
         angle = 30, # angle of "spokes"...sort of bins for wind direction
         cols =  'jet',
         key.position = 'right',
         dig.lab = 2,
         statistic = 'prop.count', #“prop.count” sizes bins according to the 
         # proportion of the frequency of measurements
         fontsize = 20,
         grid.line = 100,
         max.freq = 105, # maximum value for the radial limits
         key = list(header = "Wind Speed (m/s)",
                    footer = '',
                    labels = c('0 to 2', '2 to 4', 
                               '4 to 6','6 or more'),
                    breaks = c(0,2,4,6)),
         layout = c(6,1),
         between = list(x=0.25, y=0.25)
)
于 2020-12-28T19:54:40.453 回答