Data Viz- gghighlight
本篇主要介紹
gghighlight
的功能,他厲害的地方在於能夠直接在ggplot的語法裡針對資料作類似filter()
的處理,如果需要了解不同變數的表現或分布,可以跳過處理資料的部分直接作處理。d <- purrr::map_dfr(
letters,
~ data.frame(
idx = 1:400,
value = cumsum(runif(400, -1, 1)),
type = .,
flag = sample(c(TRUE, FALSE), size = 400, replace = TRUE),
stringsAsFactors = FALSE
)
)
head(d)
## idx value type flag
## 1 1 0.2778376 a TRUE
## 2 2 0.0184870 a TRUE
## 3 3 -0.7318389 a TRUE
## 4 4 -0.2737461 a FALSE
## 5 5 0.5060394 a FALSE
## 6 6 0.3209906 a TRUE
直接先看ggplot:
#in ggplot & use tidyverse
ggplot(d) +
geom_line(aes(idx, value, colour = type))
把最大值>20的type分出來
d_filtered <- d %>%
group_by(type) %>%
filter(max(value) > 20) %>%
ungroup()
ggplot(d_filtered) +
geom_line(aes(idx, value, colour = type))
有gghighlight可以直接在作圖語法處理:
ggplot(d_filtered) +
geom_line(aes(idx, value, colour = type)) + gghighlight(max(value) > 20)
## label_key: type
也可以為其加上
theme
,換言芝也可以和ggplot很常用到的語法搭配ggplot(d) +
geom_line(aes(idx, value, colour = type)) +
gghighlight(max(value) > 19) +
theme_minimal()
## label_key: type
當然
facet_wrap()
也沒問題ggplot(d) +
geom_line(aes(idx, value, colour = type)) +
gghighlight(max(value) > 19) +
theme_minimal() +
facet_wrap(~ type)
## label_key: type
Barplot應用
#Barplot
ggplot(iris, aes(Sepal.Length, fill = Species)) +
geom_histogram() +facet_wrap(~ Species)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
有gghilight可以看出其它變數的分布
ggplot(iris, aes(Sepal.Length, fill = Species)) +
geom_histogram() +facet_wrap(~ Species) + gghighlight()
## label_key: Species
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
也可以手工調整想看的線條
#Non-logical predicate
ggplot(d, aes(idx, value, colour = type)) +
geom_line() +
gghighlight(max(value), max_highlight = 5L)
## label_key: type
調整標籤大小:
#label
ggplot(d) +
geom_line(aes(idx, value, colour = type)) +
gghighlight(max(value) > 20, label_params = list(size = 10))
## label_key: type
不同的視覺手法:
#Different style
ggplot(d) +
geom_line(aes(idx, value, colour = type), size = 5) +
gghighlight(max(value) > 19,
unhighlighted_params = list(size = 1, colour = alpha("blue", 0.4)))
## label_key: type
留言
張貼留言