Frage RStudio mit Python-Matplotlib-Grafik


Ist es möglich, Python-Matplotlib-Code zum Zeichnen von Graphen in RStudio zu verwenden?

z.B. unter Python Matplotlib-Code:

import numpy as np
import matplotlib.pyplot as plt

n = 256
X = np.linspace(-np.pi,np.pi,n,endpoint=True)
Y = np.sin(2*X)

plt.plot (X, Y+1, color='blue', alpha=1.00)
plt.plot (X, Y-1, color='blue', alpha=1.00)
plt.show()

Ausgabegraph wird sein:

enter image description here

Dann muss ich einen R-Abschlag schreiben, um diesen Code einzuschließen und Diagramm automatisch zu erzeugen, nachdem ich den Knopf gedrückt habe.


9
2018-04-05 21:04


Ursprung


Antworten:


Eine mögliche Lösung ist das Speichern des Plots als Bild und das Laden der Datei in Markdown.

### Call python code sample
```{r,engine='python'}
import numpy as np
import matplotlib.pyplot as plt

n = 256
X = np.linspace(-np.pi,np.pi,n,endpoint=True)
Y = np.sin(2*X)

fig, ax = plt.subplots( nrows=1, ncols=1 )
ax.plot (X, Y+1, color='blue', alpha=1.00)
ax.plot (X, Y-1, color='blue', alpha=1.00)
#plt.show()
fig.savefig('foo.png', bbox_inches='tight')
print "finished"
```
Output image:
![output](foo.png)

#### The End

Ausgabe:

enter image description here


7
2018-04-06 00:30



  1. install.packages ('devtools') zuerst, install_github Funktion erhalten
  2. install_github ("rstudio / reticulate") installiert die dev-Version von reticulate
  3. Verwenden Sie den folgenden Code in r markdown doc, um die Funktion zu aktivieren.

    ```{r setup, include=FALSE}
    library(knitr)
    library(reticulate)
    knitr::knit_engines$set(python = reticulate::eng_python)
    ```
     

Probieren Sie es aus, Sie bekommen, was Sie wollen und müssen kein Bild speichern.

Imgur


8
2017-11-07 20:33