2013-04-18 1 views

답변

2

아니요, 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() 
관련 문제