All Projects → rstudio → Nomnoml

rstudio / Nomnoml

Licence: other
Sassy 'UML' Diagrams for R

Programming Languages

javascript
184084 projects - #8 most used programming language
r
7636 projects

Projects that are alternatives of or similar to Nomnoml

nomnoml-cli
Generates images from nomnoml diagram sources in a NodeJS module or on the command line
Stars: ✭ 20 (-88.44%)
Mutual labels:  uml, diagrams
rchess
♛ Chess package for R
Stars: ✭ 68 (-60.69%)
Mutual labels:  rstats, htmlwidgets
Sunburstr
R htmlwidget for interactive sunburst plots
Stars: ✭ 177 (+2.31%)
Mutual labels:  rstats, htmlwidgets
Sigmajs
Σ sigma.js for R
Stars: ✭ 58 (-66.47%)
Mutual labels:  rstats, htmlwidgets
Highcharter
R wrapper for highcharts
Stars: ✭ 583 (+236.99%)
Mutual labels:  rstats, htmlwidgets
quickglobe
🌎 View Country Data via a 3D, D3, Globe 🌍
Stars: ✭ 22 (-87.28%)
Mutual labels:  rstats, htmlwidgets
Reactr
React for R
Stars: ✭ 227 (+31.21%)
Mutual labels:  rstats, htmlwidgets
Echarts4r
🐳 ECharts 5 for R
Stars: ✭ 378 (+118.5%)
Mutual labels:  rstats, htmlwidgets
Kroki
Creates diagrams from textual descriptions!
Stars: ✭ 774 (+347.4%)
Mutual labels:  uml, diagrams
Streamgraph
〰️ htmlwidget for creating streamgraph visualizations in R
Stars: ✭ 137 (-20.81%)
Mutual labels:  rstats, htmlwidgets
Tidyversity
🎓 Tidy tools for academics
Stars: ✭ 155 (-10.4%)
Mutual labels:  rstats
Decryptr
An extensible API for breaking captchas
Stars: ✭ 154 (-10.98%)
Mutual labels:  rstats
Tokenizers
Fast, Consistent Tokenization of Natural Language Text
Stars: ✭ 161 (-6.94%)
Mutual labels:  rstats
Plotly
An interactive graphing library for R
Stars: ✭ 2,096 (+1111.56%)
Mutual labels:  rstats
Cellularautomata
a collection of cellular automata written in Haskell with Diagrams
Stars: ✭ 153 (-11.56%)
Mutual labels:  diagrams
Calendr
Ready to print calendars with ggplot2
Stars: ✭ 161 (-6.94%)
Mutual labels:  rstats
Supervised Ml Case Studies Course
Supervised machine learning case studies in R! 💫 A free interactive tidymodels course
Stars: ✭ 152 (-12.14%)
Mutual labels:  rstats
Rentrez
talk with NCBI entrez using R
Stars: ✭ 151 (-12.72%)
Mutual labels:  rstats
Patchwork
The Composer of ggplots
Stars: ✭ 2,002 (+1057.23%)
Mutual labels:  rstats
Viewpipesteps
Create tabs of View() output for each chained pipe
Stars: ✭ 168 (-2.89%)
Mutual labels:  rstats

nomnoml

CRAN_Status_Badge R build status Codecov test coverage Lifecycle: experimental

nomnoml provides an R interface to nomnoml, a tool for drawing sassy UML diagrams based on syntax with customizable styling.

Installation

Install from CRAN:

install.packages("nomnoml")

Or from GitHub using:

install.packages("remotes")
remotes::install_github("rstudio/nomnoml")

Getting Started

You can create your first diagram by running:

nomnoml::nomnoml("[Hello]-[World!]")

To make the diagram flow vertically, the default at nomnoml.com, add the direction directive:

#direction: down
[Hello]-[World!]

You can also use nomnoml in R Markdown:

---
title: "A Diagram"
output: html_document
---

```{r, setup, include=FALSE}
library(nomnoml)
```

```{nomnoml}
#stroke: orange
#.box: fill=#8f8 dashed visual=ellipse

[A]-[B]
[B]-[<box>C]
```

SVG

To render using SVG, add svg = TRUE

nomnoml(diagram, svg = TRUE)

To render a nomnoml chunk in R Markdown, add svg=TRUE to the chunk options

```{nomnoml, svg=TRUE}
#stroke: orange
#.box: fill=#8f8 dashed visual=ellipse

[A]-[B]
[B]-[<box>C]
```

Advanced

Notice that much more complex diagrams can be designed using nomnoml by combining association types, classifier types, directives and custom classifier styles.

#stroke: #a86128
#direction: down
[<frame>Decorator pattern|
  [<abstract>Component||+ operation()]
  [Client] depends --> [Component]
  [Decorator|- next: Component]
  [Decorator] decorates -- [ConcreteComponent]
  [Component] <:- [Decorator]
  [Component] <:- [ConcreteComponent]
]

Association types

-    association
->   association
<->  association
-->  dependency
<--> dependency
-:>  generalization
<:-  generalization
--:> implementation
<:-- implementation
+-   composition
+->  composition
o-   aggregation
o->  aggregation
--   note
-/-  hidden

Classifier types

[name]
[<abstract> name]
[<instance> name]
[<reference> name]
[<note> name]
[<package> name]
[<frame> name]
[<database> name]
[<start> name]
[<end> name]
[<state> name]
[<choice> name]
[<input> name]
[<sender> name]
[<receiver> name]
[<transceiver> name]
[<actor> name]
[<usecase> name]
[<label> name]
[<hidden> name]

Directives

#arrowSize: 1
#bendSize: 0.3
#direction: down | right
#gutter: 5
#edgeMargin: 0
#edges: hard | rounded
#fill: #eee8d5; #fdf6e3
#fillArrows: false
#font: Calibri
#fontSize: 12
#leading: 1.25
#lineWidth: 3
#padding: 8
#spacing: 40
#stroke: #33322E
#title: filename
#zoom: 1

Directives only available when using the command line interface

#import: my-common-styles.nomnoml

Custom classifier styles

A directive that starts with “.” define a classifier style.

#.box: fill=#88ff88
#.blob: fill=pink visual=ellipse italic bold dashed
[<box> GreenBox]
[<blob> HideousBlob]

Available visuals are

visual=actor
visual=class
visual=database
visual=ellipse
visual=end
visual=frame
visual=hidden
visual=input
visual=none
visual=note
visual=package
visual=receiver
visual=rhomb
visual=roundrect
visual=sender
visual=start
visual=transceiver

Available modifiers are

center
bold
underline
italic
dashed
empty
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].