我正在尝试在ggplot2中更改facet网格/ facet包装上的条带的背景颜色,并删除它们的边界框(即只显示标签)。看来这需要element_rect
未在rpy2中定义 - 如何定义其构造函数?或者有没有element_rect
的替代方法吗?我试过了:
my_plot += theme(**{'strip.background': element_blank()})
但它不起作用,给出错误:
rpy2.rinterface.RRuntimeError: Error in (function (el, elname) :
Element panel.background must be a element_rect object.
也
from rpy2.robjects.lib.ggplot2 import element_rect
因导入错误而失败。如何才能做到这一点?
答案 0 :(得分:1)
[编辑:添加未指定的命名参数传递给new()
以回答答案评论]
与...完全相同的答案 how can theme_classic be accessed in rpy2 from ggplot2?,因为我是它,我将添加一个注释,即rpy2中最终要解决的问题应该报告给问题跟踪器。
import rpy2.robjects.lib.ggplot2 as ggplot2
class ElementRect(ggplot2.Element):
_constructor = ggplot2.ggplot2.element_rect
@classmethod
def new(cls, **kwargs):
res = cls(cls._constructor(**kwargs))
return res
# Monkey patch ggplot2
ggplot2.element_rect = ElementRect.new