如何在 python 中设置 mfrow/mfcol
How to set mfrow/mfcol in python
通过 jupyter 中的 rpy2
,您可以使用 R
对象直接从 python 绘制数据。如何在 python 中设置 par(mfrow=c(1,2)
?
例如,我想从 python 自动输入一个大小可变的矩阵,并使用 rpy2
绘制它(以及其他统计分析)。但是我不想绘制单个箱线图,而是希望输出所有箱线图。
这是一些示例代码
import rpy2.ipython
import rpy2.robjects as ro
import scipy as sp
import re #python for regex
from rpy2.robjects.packages import importr
rpy2.robjects.numpy2ri.activate()
%load_ext rpy2.ipython
%R
test=[[1,3,2],[6,5,7,8,9]]
def funtoanalyze(grouparray):
a={}
data=numpy.array(test)
for ig in range(len(grouparray)):
key=grouparray[ig]
value=data[ig]
a[key]=value
next
rbox=ro.r('boxplot')
for gro in a:
datar=a[gro]
ro.r('dev.new()')
rbox(ro.FloatVector(datar[:]),xlab="",main=gro)
return
funtoanalyze(["group33","group2"]) #only plots last group
您使用%load_ext rpy2.ipython
表明您希望在jupyter notebook中拥有您的身影。
R 正在使用"graphical devices" 输出图形,调用par(mfrow=c(...))
会将设置放入打开的图形设备或打开新的默认设备并设置参数。
"magic" %%R
正在扫描是否在默认设备上生成图形并将其显示在笔记本中。以下应该有效:
%%R
par(mfrow=c(1,2))
plot(0, 0)
plot(0, 0)
如果您不想使用 R 魔法,rpy2 中还有其他适用于 jupyter notebook 的实用程序。对于绘图,有一个上下文管理器(请参阅 https://bitbucket.org/rpy2/rpy2/issues/330/ipython-plotting-wrapper - 我不记得是否有更多文档),但最高级的实用程序是为 ggplot2
量身定制的。例如检查此幻灯片和以下幻灯片:
https://lgautier.github.io/odsc-ppda-slides/#/5/13
完整的笔记本在这里:
https://github.com/lgautier/odsc-ppda-slides/blob/master/notebooks/slides.ipynb
有一个 docker 集装箱运输,里面装着 运行 笔记本所需的一切:
https://github.com/lgautier/pragmatic-polyglot-data-analysis
通过 jupyter 中的 rpy2
,您可以使用 R
对象直接从 python 绘制数据。如何在 python 中设置 par(mfrow=c(1,2)
?
例如,我想从 python 自动输入一个大小可变的矩阵,并使用 rpy2
绘制它(以及其他统计分析)。但是我不想绘制单个箱线图,而是希望输出所有箱线图。
这是一些示例代码
import rpy2.ipython
import rpy2.robjects as ro
import scipy as sp
import re #python for regex
from rpy2.robjects.packages import importr
rpy2.robjects.numpy2ri.activate()
%load_ext rpy2.ipython
%R
test=[[1,3,2],[6,5,7,8,9]]
def funtoanalyze(grouparray):
a={}
data=numpy.array(test)
for ig in range(len(grouparray)):
key=grouparray[ig]
value=data[ig]
a[key]=value
next
rbox=ro.r('boxplot')
for gro in a:
datar=a[gro]
ro.r('dev.new()')
rbox(ro.FloatVector(datar[:]),xlab="",main=gro)
return
funtoanalyze(["group33","group2"]) #only plots last group
您使用%load_ext rpy2.ipython
表明您希望在jupyter notebook中拥有您的身影。
R 正在使用"graphical devices" 输出图形,调用par(mfrow=c(...))
会将设置放入打开的图形设备或打开新的默认设备并设置参数。
"magic" %%R
正在扫描是否在默认设备上生成图形并将其显示在笔记本中。以下应该有效:
%%R
par(mfrow=c(1,2))
plot(0, 0)
plot(0, 0)
如果您不想使用 R 魔法,rpy2 中还有其他适用于 jupyter notebook 的实用程序。对于绘图,有一个上下文管理器(请参阅 https://bitbucket.org/rpy2/rpy2/issues/330/ipython-plotting-wrapper - 我不记得是否有更多文档),但最高级的实用程序是为 ggplot2
量身定制的。例如检查此幻灯片和以下幻灯片:
https://lgautier.github.io/odsc-ppda-slides/#/5/13
完整的笔记本在这里:
https://github.com/lgautier/odsc-ppda-slides/blob/master/notebooks/slides.ipynb
有一个 docker 集装箱运输,里面装着 运行 笔记本所需的一切:
https://github.com/lgautier/pragmatic-polyglot-data-analysis