我正在构建一个允许用户传递ggplot对象然后根据其他参数应用格式的函数。我需要知道绘图使用的刻度(离散/填充/连续)类型,因此我知道要应用的颜色方案类型。
e.g。
p <- ggplot(mpg, aes(x = displ, y = hwy, colour = cyl)) + geom_point()
str(p$scales$scales)
给了我一个看起来很有前途的列表,但很多显示的是功能,我可以解决如何提取细节。
scale_name
在控制台中显示'position_d'
表示离散,'position_c'
表示连续等,但str(p$scales$scale_name)
返回null
我已经尝试了
b <- ggplot_build(p)
b$layout$get_scales() etc
但仍然可以使用我无法使用的功能
答案 0 :(得分:0)
你可以试试这个
p <- ggplot(mpg, aes(x = displ, y = hwy, colour = cyl)) + geom_point()
ggplot_build(p)$layout$panel_scales
$x
$x[[1]]
<ScaleContinuousPosition>
Range: 1.6 -- 7
Limits: 1.6 -- 7
$y
$y[[1]]
<ScaleContinuousPosition>
Range: 12 -- 44
Limits: 12 -- 44