【问题标题】:How do I render Python plots in RMarkdown?如何在 RMarkdown 中渲染 Python 图?
【发布时间】:2021-02-01 18:58:08
【问题描述】:

在我的一生中,我无法使用 Python 在 RMarkdown 中渲染绘图。这些图显示在我的 Python 编辑器中,但当我切换到 RStudio 尝试构建 PDF/HTML 报告时却没有。我一直在互联网上,每个人都有答案,但没有人能解决我的问题。这是我收到以下附加错误的错误消息:

下面我制作了一些数据来展示我想要实现的目标。一旦应用程序到达 seaborn 行,它就会在 RStudio 中生成附加的错误消息

knitr::opts_chunk$set(echo = TRUE)
library(reticulate)

导入所需的包

import pandas as pd
import numpy as np
from scipy.stats import uniform  # for training-and-test split
import statsmodels.api as sm  # statistical models (including regression)
import statsmodels.formula.api as smf  # R-like model specification
import matplotlib.pyplot as plt  # 2D plotting
import seaborn as sns
x = np.random.normal(0, 1, 20)
y = np.random.normal(0, 2, 20)
sns.scatterplot(x, y)

【问题讨论】:

  • 如果没有生成错误的 (R) 代码的可重现示例,很难提供帮助。你能给我们看看你的 .Rmd 吗?
  • @M.A.我添加了 .Rmd 部分代码。基本上,导致该错误消息的行是绘图,不一定是 seaborn,任何其他绘图调用都会产生相同的错误消息。
  • 对不起,但这不是我所说的可重现的意思。 python代码很好。查看降价文件可能会有所帮助,但我认为这个问题是由缺少 dll 引起的。
  • @M. A. 就 Rmd 而言,前两行是所有内容。在那之后的一切都是Python。同样,如果我删除绘图功能,则代码可以正常工作。此外,您可能是对的,我在其他论坛上看到的所有内容都提到了“.dll”,但没有人具体说明它们的名称、下载位置或安装 R 或 Python 的位置。

标签: python r r-markdown


【解决方案1】:

我找到了答案here

我只需要在library(reticulate) 调用下方的 R 设置块中添加这两行

matplotlib <- import("matplotlib")
matplotlib$use("Agg", force = TRUE)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 2013-10-17
    相关资源
    最近更新 更多