ggplot中字体的大小与使用knitr的绘图相关的变化

时间:2015-12-04 16:39:22

标签: r plot ggplot2 knitr

我第一次使用knitr,并且在ggplot图中遇到字体大小问题。这是一个示例图:

function newf() {
  var safePlace = "A1"; // Some safe cell
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var activeCell = ss.getActiveCell();
  if (activeCell.getSheet() == sheet && activeCell.getA1Notation() == "R4") 
    sheet.setActiveSelection(safePlace);
  var range = sheet.getRange("R4");
  var activeCell = ss.getActiveCell();
  if (activeCell.getA1Notation() == range.getA1Notation() && activeCell.getSheet().getName() == range.getSheet().getName()) {
    // Move user from target cell
    sheet.setActiveSelection(safePlace);
  range.clear();
}

在knitr中,我在R标记中的一块中有相同的情节:

d <- ggplot(diamonds, aes(x = cut, y = clarity))
d + stat_sum(aes(label=..n..),geom="text",size=8)

情节在RStudio或使用ggsave()保存时看起来很好。但是,结果knitr html中的绘图中的数字总体上具有更大的字体大小,并且相对于绘图大小:

ggsave image knitr image from html

在这个例子中它并不重要,但在我的数据中,数字开始相互重叠/用完它们的单元格。

更复杂的是,绘图是由包完成的,所以我无法轻易更改stat_sum调用中的size选项。

1 个答案:

答案 0 :(得分:3)

尝试调整fig.heightfig.width

---
title: "Untitled"
output: html_document
---
```{r, echo=FALSE,fig.height=10,fig.width=10}
library(ggplot2)
d <- ggplot(diamonds, aes(x = cut, y = clarity))
d + stat_sum(aes(label=..n..),geom="text",size=8)
```

如果您不希望数字变得那么大,可以调整out.heightout.width

---
title: "Untitled"
output: html_document
---
```{r, echo=FALSE,fig.height=10,fig.width=10,out.height=600,out.width=600}
library(ggplot2)
d <- ggplot(diamonds, aes(x = cut, y = clarity))
d + stat_sum(aes(label=..n..),geom="text",size=8)
```
相关问题