hrbrthemes是一个为ggplot2提供以排版为中心的主题和主题组件。可以让图片更加的美观。
主题:
- theme_ipsum:Arial Narrow
- theme_ipsum_es:Ccon Sans Condensed
- theme_ipsum_rc:Roboto Condensed
- theme_ipsum_ps:IBM Plex Sans字体
- theme_ipsum_pub:公共Sans
- theme_ipsum_tw:Titilium Web
- theme_modern_rc:Roboto凝聚黑暗主题
- theme_ft_rc:黑暗主题基于FT的黑暗主题(Roboto Condensed)
比例(与各种主题一致
- scale_color_ipsum:基于ipsum调色板的离散颜色和填充比例
- scale_colour_ipsum:基于ipsum调色板的离散颜色和填充比例
- scale_fill_ipsum:基于ipsum调色板的离散颜色和填充比例
- scale_color_ft:基于FT调色板的离散颜色和填充比例
- scale_colour_ft:基于FT调色板的离散颜色和填充比例
- scale_fill_ft:基于FT调色板的离散颜色和填充比例
- scale_x_comma:X&Y与百分比和逗号标签格式的固定预设进行缩放
- scale_x_percent:X&Y与百分比和逗号标签格式的固定预设进行缩放
- scale_y_comma:X&Y与百分比和逗号标签格式的固定预设进行缩放
- scale_y_percent:X&Y与百分比和逗号标签格式的固定预设进行缩放
调色板/命名颜色:
- ipsum_pal:柔和,定性的调色板
- ft_cols:FT调色板
- ft_pal:明亮的定性调色板
- ft_text_col:FT调色板
安装
install.packages("hrbrthemes", repos = "https://cinc.rud.is")
# or
remotes::install_git("https://git.rud.is/hrbrmstr/hrbrthemes.git")
# or
remotes::install_git("https://git.sr.ht/~hrbrmstr/hrbrthemes")
# or
remotes::install_gitlab("hrbrmstr/hrbrthemes")
# or
remotes::install_bitbucket("hrbrmstr/hrbrthemes")
# or
remotes::install_github("hrbrmstr/hrbrthemes")
基础主题
library(hrbrthemes)
library(gcookbook)
library(tidyverse)
ggplot(data = diamonds,aes(x = carat,y = price))+geom_point() +theme_ipsum()
使用的数据是diamonds数据集
image.png
Roboto Condensed
ggplot(mtcars, aes(mpg, wt)) +
geom_point() +
labs(x="Fuel efficiency (mpg)", y="Weight (tons)",
title="Seminal ggplot2 scatterplot example",
subtitle="A plot that is only useful for demonstration purposes",
caption="Brought to you by the letter 'g'") +
theme_ipsum_rc()
image.png
New FT Theme!
ggplot(mtcars, aes(mpg, wt)) +
geom_point(color = ft_cols$yellow) +
labs(x="Fuel efficiency (mpg)", y="Weight (tons)",
title="Seminal ggplot2 scatterplot example",
subtitle="A plot that is only useful for demonstration purposes",
caption="Brought to you by the letter 'g'") +
theme_ft_rc()
image.png
IBM Plex Sans
ggplot(mpg, aes(displ, hwy)) +
geom_jitter(aes(color=class, fill=class), size=3, shape=21, alpha=1/2) +
scale_x_continuous(expand=c(0,0), limits=c(1, 8), breaks=1:8) +
scale_y_continuous(expand=c(0,0), limits=c(10, 50)) +
scale_color_ipsum() +
scale_fill_ipsum() +
facet_wrap(~class, scales="free") +
labs(
title="IBM Plex Sans Test",
subtitle="This is a subtitle to see the how it looks in IBM Plex Sans",
caption="Source: hrbrthemes & IBM"
) +
theme_ipsum_ps(grid="XY", axis="xy") +
theme(legend.position="none") -> gg
flush_ticks(gg)
image.png
Titillium Web
ggplot(mpg, aes(displ, hwy)) +
geom_jitter(aes(color=class, fill=class), size=3, shape=21, alpha=1/2) +
scale_x_continuous(expand=c(0,0), limits=c(1, 8), breaks=1:8) +
scale_y_continuous(expand=c(0,0), limits=c(10, 50)) +
scale_color_ipsum() +
scale_fill_ipsum() +
facet_wrap(~class, scales="free") +
labs(
title="Titillium Web",
subtitle="This is a subtitle to see the how it looks in Titillium Web",
caption="Source: hrbrthemes & Google"
) +
theme_ipsum_tw(grid="XY", axis="xy") +
theme(legend.position="none") -> gg
flush_ticks(gg)
## theme(axis.text.x=element_text(hjust=c(0, rep(0.5, 6), 1))) +
## theme(axis.text.y=element_text(vjust=c(0, rep(0.5, 3), 1)))
Scales (Color/Fill)
ggplot(mtcars, aes(mpg, wt)) +
geom_point(aes(color=factor(carb))) +
labs(x="Fuel efficiency (mpg)", y="Weight (tons)",
title="Seminal ggplot2 scatterplot example",
subtitle="A plot that is only useful for demonstration purposes",
caption="Brought to you by the letter 'g'") +
scale_color_ipsum() +
theme_ipsum_rc()
image.png
Scales (Axis)
count(mpg, class) %>%
mutate(pct=n/sum(n)) %>%
ggplot(aes(class, pct)) +
geom_col() +
scale_y_percent() +
labs(x="Fuel efficiency (mpg)", y="Weight (tons)",
title="Seminal ggplot2 column chart example with percents",
subtitle="A plot that is only useful for demonstration purposes",
caption="Brought to you by the letter 'g'") +
theme_ipsum(grid="Y")
image.png
ggplot(uspopage, aes(x=Year, y=Thousands, fill=AgeGroup)) +
geom_area() +
scale_fill_ipsum() +
scale_x_continuous(expand=c(0,0)) +
scale_y_comma() +
labs(title="Age distribution of population in the U.S., 1900-2002",
subtitle="Example data from the R Graphics Cookbook",
caption="Source: R Graphics Cookbook") +
theme_ipsum_rc(grid="XY") +
theme(axis.text.x=element_text(hjust=c(0, 0.5, 0.5, 0.5, 1))) +
theme(legend.position="bottom")
image.png
Spellcheck ggplot2 labels
df <- data.frame(x=c(20, 25, 30), y=c(4, 4, 4), txt=c("One", "Two", "Three"))
ggplot(mtcars, aes(mpg, wt)) +
geom_point() +
labs(x="This is some txt", y="This is more text",
title="Thisy is a titlle",
subtitle="This is a subtitley",
caption="This is a captien") +
theme_ipsum_rc(grid="XY") -> gg
gg_check(gg)
## Possible misspelled words in [title]: (Thisy, titlle)
## Possible misspelled words in [subtitle]: (subtitley)
## Possible misspelled words in [caption]: (captien)
image.png
网友评论