diff --git a/README.Rmd b/README.Rmd index 823922ac..b0744191 100644 --- a/README.Rmd +++ b/README.Rmd @@ -80,8 +80,8 @@ remotes::install_github("Yunuuuu/ggalign") ggalign marsilea + aplot ComplexHeatmap - ggtree+aplot @@ -95,22 +95,22 @@ remotes::install_github("Yunuuuu/ggalign") User Interface Declarative Declarative + Declarative+Functional Functional - Declarative Plot System ggplot2 (Advanced plot system built on grid system) Matplotlib - grid ggplot2 (Advanced plot system built on grid system) + grid Focus Composable Visualization Composable Visualization + Composable Visualization Heatmap - tree Data StackLayout @@ -123,18 +123,11 @@ remotes::install_github("Yunuuuu/ggalign") QuadLayout ✅ ✅ + ✅ Heatmap Only (discrete variables) - Cannot arrange multiple QuadLayouts CircleLayout - Arc with angle >= 90 - ❌ - ❌ - ✅ - - - CrossLayout ✅ ❌ ❌ @@ -149,60 +142,60 @@ remotes::install_github("Yunuuuu/ggalign") ✅ - One-to-Many + One-to-Many/Many-to-One ✅ ❌ ❌ ❌ - Many-to-One + Many-to-Many ✅ ❌ ❌ ❌ - Cross + Crosswise ✅ ❌ ❌ ❌ - Ease of Use - Easy for ggplot2 users - Easy for python user - Easy for for grid user - Easy for ggplot2 users + Annotate observations + ✅ + ❌ + ❌ + ✅ Fully Compatible with ggplot2 ✅ ❌ + ✅ ❌ - Limited Geometric layers support in CircleLayout ``` ------------------------------------------------------------------------------- -| Specification | `ggalign` | `marsilea` | `ComplexHeatmap` | `ggtree+aplot` | -| -------------------------------------------- | ----------------------------------------------------- | ----------------- | ------------------------------------------------------------------------- | -------------------------------------------------- | -| **Data input** | Various, and can be easily extended | fixed | fixed | Various, and can be easily extended | -| **Plot Type** | Wide variety, provided by ggplot2 | Many, but limited | Many, but limited | Limited Geometric layers support in `CircleLayout` | -| **Reorder observations** | ✅ | ✅ | Heatmap Only (Cannot be used in Stack Layout) | ✅ | -| **Group observations into different panels** | ✅ | ✅ | Heatmap Only (Cannot be used in Stack Layout) | ❌ | -| **Clustering algorithm** | Kmeans,Hierarchical Clustering and arbitary algorithm | ❌ | Kmeans,Hierarchical Clustering, but can provide clustering group directly | ❌ | -| **Legends Creation** | Automatic | Manual | Limited automatic, requires manual add | Automatic | -| **Legends Position** | Anywhere, can be controlled for a single plot | ? | Four sides, can only be placed on one side at a time | Anywhere | -| **Scientific Color Palettes** | Many | Limited | Limited | Many | -| **Dendrogram** | Tree from Both `hclust` or `ape` | `hclust` only | `hclust` only (Cannot be used in StackLayout) | Tree from Both `hclust` or `ape` | -| **Tanglegram** | ✅ | ❌ | ❌ | ❌ | -| **3D Heatmap** | ✅ | ❌ | ✅ | ❌ | -| **Oncoplot** | ✅ | ✅ | ✅ | ❌ | -| **UpSet plot** | ✅ | ✅ | ✅ | ❌ | +| Specification | `ggalign` | `marsilea` | `aplot` | `ComplexHeatmap` | +| -------------------------------------------- | ----------------------------------------------------- | ----------------- | ----------------------------------- | ------------------------------------------------------------------------- | +| **Data input** | Various, and can be easily extended | fixed | Various, and can be easily extended | fixed | +| **Plot Type** | Wide variety, provided by ggplot2 | Many, but limited | ✅ | Many, but limited | +| **Reorder observations** | ✅ | ✅ | ✅ | Heatmap Only (Cannot be used in Stack Layout) | +| **Group observations into different panels** | ✅ | ✅ | ❌ | Heatmap Only (Cannot be used in Stack Layout) | +| **Clustering algorithm** | Kmeans,Hierarchical Clustering and arbitary algorithm | ❌ | ❌ | Kmeans,Hierarchical Clustering, but can provide clustering group directly | +| **Legends Creation** | Automatic | Manual | Automatic | Limited automatic, requires manual add | +| **Legends Position** | Anywhere, can be controlled for a single plot | ? | Anywhere | Four sides, can only be placed on one side at a time | +| **Scientific Color Palettes** | Many | Limited | Many | Limited | +| **Dendrogram** | Tree from Both `hclust` or `ape` | `hclust` only | Tree from Both `hclust` or `ape` | `hclust` only (Cannot be used in StackLayout) | +| **Tanglegram** | ✅ | ❌ | ❌ | ❌ | +| **3D Heatmap** | ✅ | ❌ | ❌ | ✅ | +| **Oncoplot** | ✅ | ✅ | ❌ | ✅ | +| **UpSet plot** | ✅ | ✅ | ❌ | ✅ | ## Acknowledgements I would like to express my sincere gratitude to the contributors of the diff --git a/README.md b/README.md index 1702d4bb..8adc50ad 100644 --- a/README.md +++ b/README.md @@ -73,8 +73,8 @@ remotes::install_github("Yunuuuu/ggalign") ggalign marsilea + aplot ComplexHeatmap - ggtree+aplot @@ -88,22 +88,22 @@ remotes::install_github("Yunuuuu/ggalign") User Interface Declarative Declarative + Declarative+Functional Functional - Declarative Plot System ggplot2 (Advanced plot system built on grid system) Matplotlib - grid ggplot2 (Advanced plot system built on grid system) + grid Focus Composable Visualization Composable Visualization + Composable Visualization Heatmap - tree Data StackLayout @@ -116,18 +116,11 @@ remotes::install_github("Yunuuuu/ggalign") QuadLayout ✅ ✅ + ✅ Heatmap Only (discrete variables) - Cannot arrange multiple QuadLayouts CircleLayout - Arc with angle >= 90 - ❌ - ❌ - ✅ - - - CrossLayout ✅ ❌ ❌ @@ -142,59 +135,59 @@ remotes::install_github("Yunuuuu/ggalign") ✅ - One-to-Many + One-to-Many/Many-to-One ✅ ❌ ❌ ❌ - Many-to-One + Many-to-Many ✅ ❌ ❌ ❌ - Cross + Crosswise ✅ ❌ ❌ ❌ - Ease of Use - Easy for ggplot2 users - Easy for python user - Easy for for grid user - Easy for ggplot2 users + Annotate observations + ✅ + ❌ + ❌ + ✅ Fully Compatible with ggplot2 ✅ ❌ + ✅ ❌ - Limited Geometric layers support in CircleLayout ------------------------------------------------------------------------ -| Specification | `ggalign` | `marsilea` | `ComplexHeatmap` | `ggtree+aplot` | -|----------------------------------------------|-------------------------------------------------------|-------------------|---------------------------------------------------------------------------|----------------------------------------------------| -| **Data input** | Various, and can be easily extended | fixed | fixed | Various, and can be easily extended | -| **Plot Type** | Wide variety, provided by ggplot2 | Many, but limited | Many, but limited | Limited Geometric layers support in `CircleLayout` | -| **Reorder observations** | ✅ | ✅ | Heatmap Only (Cannot be used in Stack Layout) | ✅ | -| **Group observations into different panels** | ✅ | ✅ | Heatmap Only (Cannot be used in Stack Layout) | ❌ | -| **Clustering algorithm** | Kmeans,Hierarchical Clustering and arbitary algorithm | ❌ | Kmeans,Hierarchical Clustering, but can provide clustering group directly | ❌ | -| **Legends Creation** | Automatic | Manual | Limited automatic, requires manual add | Automatic | -| **Legends Position** | Anywhere, can be controlled for a single plot | ? | Four sides, can only be placed on one side at a time | Anywhere | -| **Scientific Color Palettes** | Many | Limited | Limited | Many | -| **Dendrogram** | Tree from Both `hclust` or `ape` | `hclust` only | `hclust` only (Cannot be used in StackLayout) | Tree from Both `hclust` or `ape` | -| **Tanglegram** | ✅ | ❌ | ❌ | ❌ | -| **3D Heatmap** | ✅ | ❌ | ✅ | ❌ | -| **Oncoplot** | ✅ | ✅ | ✅ | ❌ | -| **UpSet plot** | ✅ | ✅ | ✅ | ❌ | +| Specification | `ggalign` | `marsilea` | `aplot` | `ComplexHeatmap` | +|----------------------------------------------|-------------------------------------------------------|-------------------|-------------------------------------|---------------------------------------------------------------------------| +| **Data input** | Various, and can be easily extended | fixed | Various, and can be easily extended | fixed | +| **Plot Type** | Wide variety, provided by ggplot2 | Many, but limited | ✅ | Many, but limited | +| **Reorder observations** | ✅ | ✅ | ✅ | Heatmap Only (Cannot be used in Stack Layout) | +| **Group observations into different panels** | ✅ | ✅ | ❌ | Heatmap Only (Cannot be used in Stack Layout) | +| **Clustering algorithm** | Kmeans,Hierarchical Clustering and arbitary algorithm | ❌ | ❌ | Kmeans,Hierarchical Clustering, but can provide clustering group directly | +| **Legends Creation** | Automatic | Manual | Automatic | Limited automatic, requires manual add | +| **Legends Position** | Anywhere, can be controlled for a single plot | ? | Anywhere | Four sides, can only be placed on one side at a time | +| **Scientific Color Palettes** | Many | Limited | Many | Limited | +| **Dendrogram** | Tree from Both `hclust` or `ape` | `hclust` only | Tree from Both `hclust` or `ape` | `hclust` only (Cannot be used in StackLayout) | +| **Tanglegram** | ✅ | ❌ | ❌ | ❌ | +| **3D Heatmap** | ✅ | ❌ | ❌ | ✅ | +| **Oncoplot** | ✅ | ✅ | ❌ | ✅ | +| **UpSet plot** | ✅ | ✅ | ❌ | ✅ | ## Acknowledgements