【发布时间】:2021-05-30 11:04:36
【问题描述】:
- 目标:R markdown:构建一个 DinA4 pdf 页面,左上角有一个矩形和两个绘图。
- 问题:绘制矩形后,下一个绘图距离很远,中间有一大块空白。
- 所需的输出:热图应立即出现在矩形之后,可能带有一两条白线。
我猜问题是矩形的绘制。在这里我需要一些帮助。谢谢。
---
output:
pdf_document
documentclass: article
classoption: a4paper
geometry: margin=1cm
subparagraph: yes
header-includes: |
\usepackage{titlesec}
\titlespacing{\title}{0pt}{\parskip}{-\parskip}
title: "Example of Title to Body Text"
subtitle: Subtitle Places Here
---
\vspace{-5truemm}
\pagenumbering{gobble}
#``` {r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(draw)
library(ggplot2)
library(dplyr)
# ```
#```{r rectangle}
drawBox(x =2, y = 3.5, width = 2.5, height = 1)
#```
#```{r heatmap}
df <- data.frame(
test_id = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4),
test_nr = c(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5,
1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 1, 1, 1, 1, 2, 2, 2, 2),
region = c("A", "B", "C", "D", "A", "B", "C", "D", "A", "B", "C", "D", "A",
"B", "C", "D", "A", "B", "C", "D", "A", "B", "C", "D", "A", "B",
"C", "D", "A", "B", "C", "D", "A", "B", "C", "D", "A", "B", "C", "D"),
test_value = c(3, 1, 2, 2, 2, 1, 2, 2, 3, 2, 2, 3, 2, 1, 2, 2, 1, 2, 3,
4, 2, 1, 1, 2, 1, 1, 1, 1, 2, 2, 3, 2, 2, 2, 99, 99, 3, 3, 3, 3)
)
# named vector for heatmap
cols <- c("1" = "green",
"2" = "darkgreen",
"3" = "orange",
"4" = "red",
"99" = "black")
labels_legend <- c("1" = "very good",
"2" = "good",
"3" = "not so good",
"4" = "bad",
"99" = "NA")
df <- df %>%
filter(test_id==1)
ggplot(
df,
aes(region, test_nr)) +
geom_tile(aes(fill= factor (test_value))) +
geom_text(aes(label = test_value), size = 10, color = "white") + # text in tiles
scale_colour_manual(
values = cols,
breaks = c("1", "2", "3", "4", "99"),
labels = labels_legend,
aesthetics = c("colour", "fill")
) +
theme(text = element_text(size = 14)) + # this will change all text size
labs(title = "Test (Individual heatmap)", x = "Region", y = "Event") +
labs(fill = "Test") +
coord_fixed(ratio=1, clip="on") +
theme(axis.text.y = element_text(face = "bold", size = 12)) +
theme(axis.text.x = element_text(angle = 0, face = "bold", size = 12)) +
theme(axis.line = element_line(colour = "darkblue",
size = 1, linetype = "solid")
)
# ```
## Information
【问题讨论】:
标签: r r-markdown