在Jupyter笔记本中内联显示R ggplots [英] Displaying R ggplots inline in jupyter notebooks
问题描述
我正在尝试运行一个简单的示例,可在这里找到: https ://www.datacamp.com/community/blog/jupyter-notebook-r#gs.OczVCjA
I am trying to run a simple example found here: https://www.datacamp.com/community/blog/jupyter-notebook-r#gs.OczVCjA
import warnings
warnings.filterwarnings('ignore')
# Load in the r magic
import rpy2.ipython
%reload_ext rpy2.ipython
# We need ggplot2
%R require(ggplot2)
%R library("ggplot2")
# Load in the pandas library
import pandas as pd
# Make a pandas DataFrame
df = pd.DataFrame({'Alphabet': ['a', 'b', 'c', 'd','e', 'f', 'g', 'h','i'],
'A': [4, 3, 5, 2, 1, 7, 7, 5, 9],
'B': [0, 4, 3, 6, 7, 10,11, 9, 13],
'C': [1, 2, 3, 1, 2, 3, 1, 2, 3]})
# Take the name of input variable df and assign it to an R variable of the same name
%R -i df
# Plot the DataFrame df
ggplot(data=df) + geom_point(aes(x=A, y=B, color=C))
起初,我有一个NameError已定义ggplot节点"
At first I had a NameError "ggplot node defined"
然后我将%R添加到最后一行,现在获得以下输出:
I then added %R to the last line and now obtain the following output:
R object with classes: ('gg', 'ggplot') mapped to:
<ListVector - Python:0x7fc6a73c1d88 / R:0x3c4e768>
[DataF..., ListV..., Envir..., ..., Envir..., Envir..., ListV...]
R object with classes: ('gg', 'ggplot') mapped to:
<ListVector - Python:0x7fc6a73c1d88 / R:0x3c4e768>
[DataF..., ListV..., Envir..., ..., Envir..., Envir..., ListV...]
R object with classes: ('gg', 'ggplot') mapped to:
<ListVector - Python:0x7fc6a73c1d88 / R:0x3c4e768>
[DataF..., ListV..., Envir..., ..., Envir..., Envir..., ListV...]
scales: <class 'rpy2.robjects.environments.Environment'>
R object with classes: ('ScalesList', 'ggproto') mapped to:
<Environment - Python:0x7fc6a7682808 / R:0x215a968>
...
data: <class 'rpy2.robjects.environments.Environment'>
R object with classes: ('FacetNull', 'Facet', 'ggproto') mapped to:
<Environment - Python:0x7fc6a76829c8 / R:0x281c138>
layers: <class 'rpy2.robjects.environments.Environment'>
R object with classes: ('environment',) mapped to:
<Environment - Python:0x7fc6a7682548 / R:0x1544d58>
R object with classes: ('gg', 'ggplot') mapped to:
<ListVector - Python:0x7fc6a73c1d88 / R:0x3c4e768>
[DataF..., ListV..., Envir..., ..., Envir..., Envir..., ListV...]
是否创建了一个图,以及如何像使用matplotlib一样在笔记本中内联显示它?
Was a plot created and how to display it inline in the notebook like one would do with matplotlib?
n.b .:我使用上述链接中所述的conda install -c r r-essentials命令(通常包括ggplot吗?)安装了Jupyter中的R
n.b.: I installed R within Jupyter using the command conda install -c r r-essentials (wich normally includes ggplot?) as described in the link above
非常感谢您
推荐答案
好,我现在尝试了... 这对我有用:
Ok, i tried it now... This worked for me:
%R print(ggplot(data=df) + geom_point(aes(x=A, y=B, color=C)))
您必须添加print()
语句.不知道为什么.
You have to add a print()
statement. Don't know why.
这篇关于在Jupyter笔记本中内联显示R ggplots的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!