Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bhaskarvk/fontMPlus

ggplot2 themes based on M+ fonts
https://github.com/bhaskarvk/fontMPlus

ggplot2 ggplot2-themes hrbrthemes r rstats

Last synced: about 2 months ago
JSON representation

ggplot2 themes based on M+ fonts

Awesome Lists containing this project

README

        

---
output: github_document
---
```{r, echo = FALSE}
knitr::opts_chunk$set(fig.retina=2, fig.path = "README_figs/README-")
```

```{r, echo = FALSE}
description <- readLines(system.file("DESCRIPTION", package='fontMPlus'))
rvers <- stringr::str_match(grep("R \\(", description, value = TRUE), "[0-9]{1,4}\\.[0-9]{1,4}\\.[0-9]{1,4}")[1,1]
version <- gsub(" ", "", gsub("Version:", "", grep("Version:", description, value = TRUE)))
```

[![Project Status: Active – The project is being actively developed.](http://www.repostatus.org/badges/latest/active.svg)](http://www.repostatus.org/#active) [![Last-changedate](https://img.shields.io/badge/last%20change-`r gsub('-', '--', Sys.Date())`-green.svg)](/commits/master) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![keybase verified](https://img.shields.io/badge/keybase-verified-brightgreen.svg)](https://gist.github.com/bhaskarvk/46fbf2ba7b5713151d7e) [![Travis-CI Build Status](https://travis-ci.org/bhaskarvk/fontMPlus.svg?branch=master)](https://travis-ci.org/bhaskarvk/fontMPlus) [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/bhaskarvk/fontMPlus?branch=master&svg=true)](https://ci.appveyor.com/project/bhaskarvk/fontMPlus) [![minimal R version](https://img.shields.io/badge/R%3E%3D-`r rvers`-6666ff.svg)](https://cran.r-project.org/) [![packageversion](https://img.shields.io/badge/Package%20version-`r version`-orange.svg?style=flat-square)](commits/master) [![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/fontMPlus)](https://cran.r-project.org/package=fontMPlus) [![](http://cranlogs.r-pkg.org/badges/grand-total/fontMPlus)](http://cran.rstudio.com/web/packages/fontMPlus/index.html)

## M+ FONTS Based `ggplot2` Themes.

This is an add-on package for the [hrbrthemes](https://github.com/hrbrmstr/hrbrthemes) package. It provides seven ggplot2 themes based on [M+ FONTS](http://mplus-fonts.osdn.jp/about-en.html).

The M+ fonts are a font family under the Free license. You can use, copy, and distribute them, with or without modification, either commercially or noncommercially. The font family provides multilingual glyphs.
The fonts provide Kana, over 5,000 Kanji, Basic Latin, Latin-1 Supplement, Latin Extended-A, and IPA Extensions glyphs. Most of the Greek, Cyrillic, Vietnamese, and extended glyphs and symbols are included too.
So the fonts are in conformity with ISO-8859-1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, Windows-1252, T1, and VISCII encoding.

In order to keep the R package size under 5MB, which is a CRAN requirement, we include only the basic Latin glyphs with R package. But you can clone this repo and use complete glyph set as described in the documentation of `import_mplus()` function.

The package is released under MIT License while the M+ fonts are released under a [license](http://mplus-fonts.osdn.jp/about-en.html#license) that permits free usage, distribution, modification both commercially and non-commercially.

### Installation

```{r install,eval=FALSE}

install.packages('hrbrthemes')

if(!require(devtools)) {
install.packages("devtools")
}
devtools::install_github('bhaskarvk/fontMPlus')

# Required only once to import basic latin glpyh fonts included with this package.
fontMPlus::import_mplus()

# To import complete glyph set including Kana/Kanji glyphs use one of the two approaches below.
# NOTE: You don't need to do this if you don't need Kana/Kanji glyphs.

# Download and extract https://osdn.net/projects/mplus-fonts/downloads/62344/mplus-TESTFLIGHT-062.tar.xz/ to some directory.
fontMPlus::import_mplus(font_dir='directory containing M+ fonts')

# OR

# git clone this repo.
# cd fontMPlus (where fontMPlus is the directory where you have cloned this repo)
fontMPlus::import_mplus(font_dir='data-raw/complete-glpyhs')
```

The `fontMPlus::import_mplus()` call will import the M+ fonts in your `extrafont` database. You will then need to install the M+ fonts in the directory mentioned in the output of that call as per your operating system's way of installing fonts.

### Usage

#### M+ C Type 1

```{r c1, fig.retina=2}
library(ggplot2)
library(fontMPlus)

gg <- 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'")

gg + theme_ipsum_mplus_c1()
```

#### M+ C Type 2

```{r c2, fig.retina=2}
gg + theme_ipsum_mplus_c2()
```

#### M+ P Type 1

```{r p1, fig.retina=2}
gg + theme_ipsum_mplus_p1()
```

#### M+ P Type 2

```{r p2, fig.retina=2}
gg + theme_ipsum_mplus_p2()
```

#### M+ M Type 1

```{r m1, fig.retina=2}
gg + theme_ipsum_mplus_m1()
```

#### M+ M Type 2

```{r m2, fig.retina=2}
gg + theme_ipsum_mplus_m2()
```

#### M+ MN Type 1

```{r mn1, fig.retina=2}
gg + theme_ipsum_mplus_mn1()
```

### Code of Conduct
Please note that this project is released with a [Contributor Code of Conduct](CONDUCT.md). By participating in this project you agree to abide by its terms.