我有一个knitr
文档(Rmd或Rnw),我想在其中用R生成一些输出,用Python生成一些输出,但是,我不能改变Python中使用的图形选项。
具体来说,如果我在第一个Python块之前使用knitr::opts_chunk$set(fig.width = ..., fig.height = ...)
,那么这些选项将用于所有**后续的Python绘图,但是我似乎无法在之后更改图形选项,以便用不同的图形选项生成不同的绘图。
在下面的R/Markdown文档(py.Rmd
)中,我包含了一个最小的例子,在Python设置块之后,显式的knitr::opts_chunk$set()
以及单独的line
和bar
块的选项都不被接受。
---
title: 'Figure options for Python with knitr'
output: html_document
---
These figure options work:
```{r opts}
knitr::opts_chunk$set(fig.width = 6, fig.height = 5)
Python setup works:
import pandas as pd
from matplotlib import pyplot as plt
d = pd.DataFrame({"x": [1, 2, 3, 4, 5], "y": [1, 3, 2, 5, 4]})
Plots work but all figure options are ignored:
knitr::opts_chunk$set(fig.width = 2, fig.height = 6)
d.plot.line(x = 'x', y = 'y')
plt.show()
d.plot.bar(x = 'x', y = 'y')
plt.show()
在R 4.2.1中使用`rmarkdown::render("py.Rmd")`,其中`knitr`为1.42,`rmarkdown`为2.20,`reticulate`为1.28,我得到以下输出,其中两个数字都是6 x 5,而不是2 x 6或6 x 2。
![](https://i.stack.imgur.com/B0cb1.png)
1条答案
按热度按时间pxy2qtax1#
如果通过 Dataframe 使用plot,可将figsize指定为参数: