详解标题。
我是用rstudio制作一个rmarkdown文件,其中包含r和python代码。我的配置如下。
Running under: Windows 10 x64 (build 18363)
Matrix products: default
locale:
[1] LC_COLLATE=English_United Kingdom.1252 LC_CTYPE=English_United Kingdom.1252 LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C LC_TIME=English_United Kingdom.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] Rcpp_1.0.4.6 rstudioapi_0.11 knitr_1.28 magrittr_1.5 rappdirs_0.3.1 tidyselect_1.0.0
[7] munsell_0.5.0 lattice_0.20-38 colorspace_1.4-1 R6_2.4.1 rlang_0.4.5 dplyr_0.8.5
[13] tools_3.6.3 grid_3.6.3 gtable_0.3.0 xfun_0.12 htmltools_0.4.0 yaml_2.2.1
[19] assertthat_0.2.1 digest_0.6.25 tibble_2.1.3 lifecycle_0.2.0 crayon_1.3.4 Matrix_1.2-18
[25] purrr_0.3.3 ggplot2_3.3.0 rsconnect_0.8.16 glue_1.3.2 evaluate_0.14 rmarkdown_2.1
[31] compiler_3.6.3 pillar_1.4.3 scales_1.1.0 jsonlite_1.6.1 reticulate_1.15-9000 pkgconfig_2.0.3
我尝试运行的python块是:
import scipy as sp
import numpy as np
import pandas as pd
df = pd.read_csv("D:/03 PhD Edinburgh related/OneDrive/OneDrive - University of Edinburgh/00 PhD/000 PhD Data/01 Project I Chr Hansen/20200421_analysis_pp16013/20200420_pp16013_analysis.csv")
plt.scatter(df['OD'].values, df['osmolarity.mOSM'].values,
c=df['hydrophobicity'].values,cmap='magma')
plt.xlabel('OD')
plt.ylabel('osmolarity')
plt.title('osmolarity as function of OD and Hydrophobicity')
cbar = plt.colorbar()
cbar.set_label('Hydrophobicity', rotation=270)
plt.show()
我可以在rStudio中很好地运行python块,并按预期显示图表。
当我尝试使用knitter来制作文档时,它到达python chunk并给出错误。
"This application failed to start because it could not find or load
the Qt platform plugin "windows" in "",
reinstalling the application may fix this problem."
这与使用matplotlib的部分特别相关。我可以创建和显示Pandas数据框架。
我已经尝试安装最新版本的github的reticulate。
先谢谢你的帮助。
在我的rmarkdown文件中,设置了正在使用的conda环境的插件路径后,工作正常。你可以在使用matplotlib做python代码块之前,添加下面的r代码块。
library(reticulate)
py_run_string("import os as os")
py_run_string("os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = 'C:/Users/[UserID]/Anaconda3/envs/[EnvironmentName]/Library/plugins/platforms'")
我已经设法在另一个堆栈溢出的答案中找到了这个问题,这是一个重复的答案。
答案请看这里。
https:/stackoverflow.coma5071183711076186
我基本上只是保存我的python图,然后把保存的python图加载到r中。