python - 相当于Python中ggplot2的rpy2中的scale_size_area?

标签 python ggplot2 rpy2

rpy2 是否具有与 ggplot2 中的 scale_size_area() 等效的功能?如果没有的话我该如何写呢? 我指的是这个函数:

http://docs.ggplot2.org/0.9.3/scale_size_area.html

我想根据面积而不是半径(我认为是默认值)按大小缩放点。

最佳答案

不,rpy2 没有此功能,因为 ggplot2 包装器模块实际上是手工编码的。 (希望正如作者所指出的,元编程最终将用于使代码更短、更自动化。)但是,好消息是添加您自己的功能并不难。以下是将scale_size_area()添加到现有功能中的方法:

import rpy2.robjects.lib.ggplot2 as ggplot2
import rpy2.robjects as ro

mtcars = ro.r('mtcars')
gp = ggplot2.ggplot(mtcars)
pp = gp + ggplot2.aes_string(x='wt', y='mpg', size='cyl') + ggplot2.geom_point()

# using the standard size (radius) aesthetic for size
pp.plot()

# create the ScaleSizeArea (based on ggplot2.py in rpy2)
class ScaleSizeArea(ggplot2.ScaleSize):
    _constructor = ggplot2.ggplot2_env['scale_size_area']

ggplot2.scale_size_area = ScaleSizeArea.new

# now you can use scale_size_area instead!
pp_area = pp + ggplot2.scale_size_area()
pp_area.plot()

关于python - 相当于Python中ggplot2的rpy2中的scale_size_area?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16090484/

相关文章:

r - 在轴标签中混合字体样式ggplot2

r - ggplot2 的多个图例

r - 在 ggplot2 中使用循环进行多个绘图

python - 在 Windows 上安装 rpy2

python - 安装 rpy2 windows 10 时 Egg_info 错误

python - 如何在 Python 中为查询集创建 switch 语句

python - 任何人都知道使 django-registration 使用电子邮件作为用户名的好方法吗?

python - 使用正确的字符编码进行抓取(python 请求 + beautifulsoup)

python - 根据日期范围按类别计算总发生次数和发生次数

python - rpy2:在放入 DataFrame 时防止 StrVector 分解