r - ggplot2 在 .elements_tree 之外创建一个新的主题元素

标签 r ggplot2 themes

我需要为 ggplot2 创建一个新的主题元素

如何将 NEW 项添加到 .elements_tree 数据结构中(作为引用,它从第 263 行 HERE 开始)

例如,我有一个特殊的情况,我需要添加另一个轴,所以,我想添加主题对象:axis.text.zaxis.title.z 等等...

我可以通过侵入 plot$theme 将其手动添加到单个绘图对象(例如“plot”),但是,当我尝试通过 theme(...) 进行修改时 命令,它通过从第 363 行开始的 validate_element 函数获得非验证,也在同一个源文件上(再次 HERE)。

如果我通过以下方式创建 .elements_tree 的本地副本:

.elements_tree = ggplot2:::.elements_tree
.elements_tree = c(.elements_tree,
                    axis.text.z  = el_def("element_text", "axis.text"),
                    axis.title.z = el_def("element_text", "axis.text"))

然后 ggplot2 库实例不会获取新副本,因此什么也没有实现。

最佳答案

HTH:

et <- ggplot2:::.element_tree
et <- c(.element_tree,
        axis.text.z  = ggplot2:::el_def("element_text", "axis.text"),
        axis.title.z = ggplot2:::el_def("element_text", "axis.text"))

unlockBinding(".element_tree", asNamespace("ggplot2"))
assign(".element_tree", et, asNamespace("ggplot2"))
lockBinding(".element_tree", asNamespace("ggplot2"))

关于r - ggplot2 在 .elements_tree 之外创建一个新的主题元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20013475/

相关文章:

r - 在R ggplot中绘制计数直方图

r - 如何水平对齐图(ggplot2)?

excel - OfficeJs - 获取 excel/powerpoint 文件的字体/主题颜色

r - 在环境中分配列表属性

r - 查找 R Lubridate 中无法解析的日期

r - 快速组合和转置许多固定格式的数据集文件

r - geom_hline 的颜色在图例中不正确 [ggplot2]

html - 将任何网站布局或模板转换为 Drupal 8 主题

eclipse 黑暗主题菜单

r - 在 r 中解析 Thorn "þ"分隔的日志文件