Проблема использования вязального устройства с сетчатой ​​упаковкой в ​​rstudio с matplotlib - PullRequest
0 голосов
/ 22 апреля 2020

Чтобы уточнить заголовок,

Я использую 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()

Я могу запустить чанк python в rStudio и отобразить график, как и ожидалось .

Когда я пытаюсь использовать knitter для создания документа, он попадает в блок python и выдает ошибку:

"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.

Заранее благодарен за любую помощь.

Ответы [ 2 ]

1 голос
/ 23 апреля 2020

В моем файле rmarkdown он работает нормально после задания пути к подключаемому кондеру. Вы можете добавить приведенный ниже блок кода r перед использованием matplotlib для python кода блока.

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'")
0 голосов
/ 24 апреля 2020

Мне удалось найти проблему в другом ответе переполнения стека, это дубликат.

Для ответа, пожалуйста, посмотрите здесь.

{ ссылка }

Я просто сохраняю свой python график и затем загружаю сохраненный python график в r.

...