jwi*_*720 4 r ipython rpy2 ipython-notebook
我有一些%rmagic接收数据帧并绘制它.我不能用python中的当前ggplot实现来做到这一点.所以我想知道我是否可以使用函数将数据帧传递给包含R代码并可能返回它的单元格.这就是我的想法:
#cell 1
def plot_in_r(dataframe):
pass_to_cell_2(dataframe)
#cell 2
%%R -i dataframe
ggplot(dataframe) + geom_bar()
Run Code Online (Sandbox Code Playgroud)
它不一定是其他单元格的单元格,但是我需要将一些东西传递给R并让它通过我可以重复使用的函数绘制在笔记本中.
cel*_*cel 10
我想最简单的方法是定义一个函数,R其中包含数据框并包含绘图逻辑.
必需品进口:
import rpy2
import pandas as pd
%load_ext rpy2.ipython
%R require("ggplot2")
Run Code Online (Sandbox Code Playgroud)
创建虚拟数据框:
df1 = pd.DataFrame({"A": [1, 2, 3], "B": [1, 2, 3]})
df2 = pd.DataFrame({"A": [3, 2, 1], "B": [1, 2, 3]})
Run Code Online (Sandbox Code Playgroud)
编写绘图功能:
%%R
plot_gg <- function(df) {
p <- ggplot(data=df) + geom_line(aes(x=A, y=B))
print(p)
}
Run Code Online (Sandbox Code Playgroud)
最后用两行代码绘图:
for df in df1, df2:
%Rpush df
%R plot_gg(df)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3234 次 |
| 最近记录: |