The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Rclade defaults to the viridis palette, which is: -
Color-blind friendly - Grayscale friendly - Perceptually uniform
library(Rclade)
data(example_tree)
# Default viridis palette
p <- plot_timetree(example_tree, rank = "phylum",
taxonomy_format = "GTDB",
add_timescale = FALSE)
#>
#> ============================================================
#> Rclade: Phylogenetic Tree Visualization
#> ============================================================
#> 2026-09-16T00:09:24.864+08:00 | INFO | Starting plot_timetree pipeline
#> 2026-09-16T00:09:24.864+08:00 | INFO | Tree input : phylo object
#> 2026-09-16T00:09:24.864+08:00 | INFO | Rank : phylum
#> 2026-09-16T00:09:24.864+08:00 | INFO | Layout : rectangular
#> 2026-09-16T00:09:24.864+08:00 | INFO | Unit : auto
#> 2026-09-16T00:09:24.865+08:00 | INFO | Step 1/7: Input validation and reading
#>
#> --------------------------------------------------
#> >> Input Validation
#> --------------------------------------------------
#> 2026-09-16T00:09:24.865+08:00 | INFO | Tips : 50
#> 2026-09-16T00:09:24.865+08:00 | INFO | Internal nodes : 49
#> 2026-09-16T00:09:24.865+08:00 | INFO | Edge lengths range : 40.1579 to 2758.4006
#> 2026-09-16T00:09:24.866+08:00 | INFO | Input validation passed
#> 2026-09-16T00:09:24.866+08:00 | INFO | Timer 'input_reading': 1 ms
#> 2026-09-16T00:09:24.866+08:00 | INFO | Step 2/7: Taxonomy parsing
#> 2026-09-16T00:09:24.866+08:00 | INFO | Using rank-based taxonomy: phylum
#> 2026-09-16T00:09:24.940+08:00 | INFO | Detected format : GTDB
#> 2026-09-16T00:09:24.941+08:00 | INFO | Groups found : 5
#> 2026-09-16T00:09:24.941+08:00 | INFO | Timer 'taxonomy_parsing': 75 ms
#> 2026-09-16T00:09:24.941+08:00 | INFO | Step 3/7: MRCA computation and monophyly check
#> 2026-09-16T00:09:24.941+08:00 | INFO | Checking monophyly and computing MRCA for each group...
#> 2026-09-16T00:09:24.943+08:00 | INFO | Valid groups for collapse: 5 out of 5 total groups
#> 2026-09-16T00:09:24.943+08:00 | INFO | Valid MRCA nodes : 5
#> 2026-09-16T00:09:24.943+08:00 | INFO | Timer 'mrca_computation': 2 ms
#> 2026-09-16T00:09:25.220+08:00 | INFO | Step 4/7: Color generation
#> 2026-09-16T00:09:25.277+08:00 | INFO | Color palette : viridis
#> 2026-09-16T00:09:25.277+08:00 | INFO | Step 5/7: Tree rendering
#> ! # Invaild edge matrix for <phylo>. A <tbl_df> is returned.
#> ! # Invaild edge matrix for <phylo>. A <tbl_df> is returned.
#> 2026-09-16T00:09:25.363+08:00 | INFO | Collapsing 5 clades...
#> 2026-09-16T00:09:25.379+08:00 | INFO | Clade collapse complete
#> 2026-09-16T00:09:25.380+08:00 | INFO | Timer 'tree_rendering': 102 ms
#> 2026-09-16T00:09:25.380+08:00 | INFO | Step 6/7: Timescale integration
#>
#> ============================================================
#> Pipeline Complete
#> ============================================================
#> 2026-09-16T00:09:25.527+08:00 | INFO | Tips : 50
#> 2026-09-16T00:09:25.527+08:00 | INFO | Groups parsed : 5
#> 2026-09-16T00:09:25.527+08:00 | INFO | Groups collapsed : 5
#> 2026-09-16T00:09:25.527+08:00 | INFO | Singleton groups : 0
#> 2026-09-16T00:09:25.527+08:00 | INFO | Skipped (non-monophyletic) : 0
#> 2026-09-16T00:09:25.527+08:00 | INFO | Skipped (root/zero-tip) : 0
#> 2026-09-16T00:09:25.527+08:00 | INFO | Taxonomy format : GTDB
#> 2026-09-16T00:09:25.527+08:00 | INFO | Layout : rectangular
#> 2026-09-16T00:09:25.528+08:00 | INFO | Timescale : disabled
#> 2026-09-16T00:09:25.528+08:00 | INFO | plot_timetree completed successfully
print(p)# Custom color mapping for specific groups
p <- plot_timetree(example_tree, rank = "phylum",
taxonomy_format = "GTDB",
add_timescale = FALSE,
color_mapping = c("Proteobacteria" = "#E41A1C",
"Firmicutes" = "#377EB8"))
#>
#> ============================================================
#> Rclade: Phylogenetic Tree Visualization
#> ============================================================
#> 2026-09-16T00:09:25.809+08:00 | INFO | Starting plot_timetree pipeline
#> 2026-09-16T00:09:25.809+08:00 | INFO | Tree input : phylo object
#> 2026-09-16T00:09:25.809+08:00 | INFO | Rank : phylum
#> 2026-09-16T00:09:25.810+08:00 | INFO | Layout : rectangular
#> 2026-09-16T00:09:25.810+08:00 | INFO | Unit : auto
#> 2026-09-16T00:09:25.810+08:00 | INFO | Step 1/7: Input validation and reading
#>
#> --------------------------------------------------
#> >> Input Validation
#> --------------------------------------------------
#> 2026-09-16T00:09:25.810+08:00 | INFO | Tips : 50
#> 2026-09-16T00:09:25.810+08:00 | INFO | Internal nodes : 49
#> 2026-09-16T00:09:25.810+08:00 | INFO | Edge lengths range : 40.1579 to 2758.4006
#> 2026-09-16T00:09:25.811+08:00 | INFO | Input validation passed
#> 2026-09-16T00:09:25.811+08:00 | INFO | Timer 'input_reading': 1 ms
#> 2026-09-16T00:09:25.812+08:00 | INFO | Step 2/7: Taxonomy parsing
#> 2026-09-16T00:09:25.812+08:00 | INFO | Using rank-based taxonomy: phylum
#> 2026-09-16T00:09:25.819+08:00 | INFO | Detected format : GTDB
#> 2026-09-16T00:09:25.819+08:00 | INFO | Groups found : 5
#> 2026-09-16T00:09:25.820+08:00 | INFO | Timer 'taxonomy_parsing': 8 ms
#> 2026-09-16T00:09:25.820+08:00 | INFO | Step 3/7: MRCA computation and monophyly check
#> 2026-09-16T00:09:25.820+08:00 | INFO | Checking monophyly and computing MRCA for each group...
#> 2026-09-16T00:09:25.821+08:00 | INFO | Valid groups for collapse: 5 out of 5 total groups
#> 2026-09-16T00:09:25.821+08:00 | INFO | Valid MRCA nodes : 5
#> 2026-09-16T00:09:25.821+08:00 | INFO | Timer 'mrca_computation': 1 ms
#> 2026-09-16T00:09:25.821+08:00 | INFO | Step 4/7: Color generation
#> 2026-09-16T00:09:25.842+08:00 | INFO | Color palette : viridis
#> 2026-09-16T00:09:25.842+08:00 | INFO | Step 5/7: Tree rendering
#> ! # Invaild edge matrix for <phylo>. A <tbl_df> is returned.
#> ! # Invaild edge matrix for <phylo>. A <tbl_df> is returned.
#> 2026-09-16T00:09:25.884+08:00 | INFO | Collapsing 5 clades...
#> 2026-09-16T00:09:25.896+08:00 | INFO | Clade collapse complete
#> 2026-09-16T00:09:25.896+08:00 | INFO | Timer 'tree_rendering': 54 ms
#> 2026-09-16T00:09:25.896+08:00 | INFO | Step 6/7: Timescale integration
#>
#> ============================================================
#> Pipeline Complete
#> ============================================================
#> 2026-09-16T00:09:25.925+08:00 | INFO | Tips : 50
#> 2026-09-16T00:09:25.925+08:00 | INFO | Groups parsed : 5
#> 2026-09-16T00:09:25.926+08:00 | INFO | Groups collapsed : 5
#> 2026-09-16T00:09:25.926+08:00 | INFO | Singleton groups : 0
#> 2026-09-16T00:09:25.926+08:00 | INFO | Skipped (non-monophyletic) : 0
#> 2026-09-16T00:09:25.926+08:00 | INFO | Skipped (root/zero-tip) : 0
#> 2026-09-16T00:09:25.926+08:00 | INFO | Taxonomy format : GTDB
#> 2026-09-16T00:09:25.926+08:00 | INFO | Layout : rectangular
#> 2026-09-16T00:09:25.926+08:00 | INFO | Timescale : disabled
#> 2026-09-16T00:09:25.926+08:00 | INFO | plot_timetree completed successfully
print(p)# Inside the plot (default)
p <- plot_timetree(example_tree, rank = "phylum",
taxonomy_format = "GTDB",
add_timescale = FALSE,
legend_position = c(0.05, 0.85))
#>
#> ============================================================
#> Rclade: Phylogenetic Tree Visualization
#> ============================================================
#> 2026-09-16T00:09:26.154+08:00 | INFO | Starting plot_timetree pipeline
#> 2026-09-16T00:09:26.154+08:00 | INFO | Tree input : phylo object
#> 2026-09-16T00:09:26.155+08:00 | INFO | Rank : phylum
#> 2026-09-16T00:09:26.155+08:00 | INFO | Layout : rectangular
#> 2026-09-16T00:09:26.155+08:00 | INFO | Unit : auto
#> 2026-09-16T00:09:26.155+08:00 | INFO | Step 1/7: Input validation and reading
#>
#> --------------------------------------------------
#> >> Input Validation
#> --------------------------------------------------
#> 2026-09-16T00:09:26.155+08:00 | INFO | Tips : 50
#> 2026-09-16T00:09:26.155+08:00 | INFO | Internal nodes : 49
#> 2026-09-16T00:09:26.155+08:00 | INFO | Edge lengths range : 40.1579 to 2758.4006
#> 2026-09-16T00:09:26.156+08:00 | INFO | Input validation passed
#> 2026-09-16T00:09:26.156+08:00 | INFO | Timer 'input_reading': 1 ms
#> 2026-09-16T00:09:26.156+08:00 | INFO | Step 2/7: Taxonomy parsing
#> 2026-09-16T00:09:26.156+08:00 | INFO | Using rank-based taxonomy: phylum
#> 2026-09-16T00:09:26.160+08:00 | INFO | Detected format : GTDB
#> 2026-09-16T00:09:26.160+08:00 | INFO | Groups found : 5
#> 2026-09-16T00:09:26.160+08:00 | INFO | Timer 'taxonomy_parsing': 4 ms
#> 2026-09-16T00:09:26.160+08:00 | INFO | Step 3/7: MRCA computation and monophyly check
#> 2026-09-16T00:09:26.160+08:00 | INFO | Checking monophyly and computing MRCA for each group...
#> 2026-09-16T00:09:26.161+08:00 | INFO | Valid groups for collapse: 5 out of 5 total groups
#> 2026-09-16T00:09:26.161+08:00 | INFO | Valid MRCA nodes : 5
#> 2026-09-16T00:09:26.161+08:00 | INFO | Timer 'mrca_computation': 1 ms
#> 2026-09-16T00:09:26.161+08:00 | INFO | Step 4/7: Color generation
#> 2026-09-16T00:09:26.162+08:00 | INFO | Color palette : viridis
#> 2026-09-16T00:09:26.162+08:00 | INFO | Step 5/7: Tree rendering
#> ! # Invaild edge matrix for <phylo>. A <tbl_df> is returned.
#> ! # Invaild edge matrix for <phylo>. A <tbl_df> is returned.
#> 2026-09-16T00:09:26.201+08:00 | INFO | Collapsing 5 clades...
#> 2026-09-16T00:09:26.212+08:00 | INFO | Clade collapse complete
#> 2026-09-16T00:09:26.212+08:00 | INFO | Timer 'tree_rendering': 50 ms
#> 2026-09-16T00:09:26.212+08:00 | INFO | Step 6/7: Timescale integration
#>
#> ============================================================
#> Pipeline Complete
#> ============================================================
#> 2026-09-16T00:09:26.240+08:00 | INFO | Tips : 50
#> 2026-09-16T00:09:26.240+08:00 | INFO | Groups parsed : 5
#> 2026-09-16T00:09:26.240+08:00 | INFO | Groups collapsed : 5
#> 2026-09-16T00:09:26.240+08:00 | INFO | Singleton groups : 0
#> 2026-09-16T00:09:26.240+08:00 | INFO | Skipped (non-monophyletic) : 0
#> 2026-09-16T00:09:26.240+08:00 | INFO | Skipped (root/zero-tip) : 0
#> 2026-09-16T00:09:26.240+08:00 | INFO | Taxonomy format : GTDB
#> 2026-09-16T00:09:26.240+08:00 | INFO | Layout : rectangular
#> 2026-09-16T00:09:26.240+08:00 | INFO | Timescale : disabled
#> 2026-09-16T00:09:26.240+08:00 | INFO | plot_timetree completed successfully
# Standard positions
p <- plot_timetree(example_tree, rank = "phylum",
taxonomy_format = "GTDB",
add_timescale = FALSE,
legend_position = "right")
#>
#> ============================================================
#> Rclade: Phylogenetic Tree Visualization
#> ============================================================
#> 2026-09-16T00:09:26.241+08:00 | INFO | Starting plot_timetree pipeline
#> 2026-09-16T00:09:26.241+08:00 | INFO | Tree input : phylo object
#> 2026-09-16T00:09:26.241+08:00 | INFO | Rank : phylum
#> 2026-09-16T00:09:26.241+08:00 | INFO | Layout : rectangular
#> 2026-09-16T00:09:26.241+08:00 | INFO | Unit : auto
#> 2026-09-16T00:09:26.241+08:00 | INFO | Step 1/7: Input validation and reading
#>
#> --------------------------------------------------
#> >> Input Validation
#> --------------------------------------------------
#> 2026-09-16T00:09:26.242+08:00 | INFO | Tips : 50
#> 2026-09-16T00:09:26.242+08:00 | INFO | Internal nodes : 49
#> 2026-09-16T00:09:26.242+08:00 | INFO | Edge lengths range : 40.1579 to 2758.4006
#> 2026-09-16T00:09:26.242+08:00 | INFO | Input validation passed
#> 2026-09-16T00:09:26.242+08:00 | INFO | Timer 'input_reading': 1 ms
#> 2026-09-16T00:09:26.242+08:00 | INFO | Step 2/7: Taxonomy parsing
#> 2026-09-16T00:09:26.243+08:00 | INFO | Using rank-based taxonomy: phylum
#> 2026-09-16T00:09:26.246+08:00 | INFO | Detected format : GTDB
#> 2026-09-16T00:09:26.247+08:00 | INFO | Groups found : 5
#> 2026-09-16T00:09:26.247+08:00 | INFO | Timer 'taxonomy_parsing': 4 ms
#> 2026-09-16T00:09:26.247+08:00 | INFO | Step 3/7: MRCA computation and monophyly check
#> 2026-09-16T00:09:26.247+08:00 | INFO | Checking monophyly and computing MRCA for each group...
#> 2026-09-16T00:09:26.248+08:00 | INFO | Valid groups for collapse: 5 out of 5 total groups
#> 2026-09-16T00:09:26.248+08:00 | INFO | Valid MRCA nodes : 5
#> 2026-09-16T00:09:26.248+08:00 | INFO | Timer 'mrca_computation': 1 ms
#> 2026-09-16T00:09:26.248+08:00 | INFO | Step 4/7: Color generation
#> 2026-09-16T00:09:26.249+08:00 | INFO | Color palette : viridis
#> 2026-09-16T00:09:26.249+08:00 | INFO | Step 5/7: Tree rendering
#> ! # Invaild edge matrix for <phylo>. A <tbl_df> is returned.
#> ! # Invaild edge matrix for <phylo>. A <tbl_df> is returned.
#> 2026-09-16T00:09:26.285+08:00 | INFO | Collapsing 5 clades...
#> 2026-09-16T00:09:26.299+08:00 | INFO | Clade collapse complete
#> 2026-09-16T00:09:26.299+08:00 | INFO | Timer 'tree_rendering': 50 ms
#> 2026-09-16T00:09:26.300+08:00 | INFO | Step 6/7: Timescale integration
#>
#> ============================================================
#> Pipeline Complete
#> ============================================================
#> 2026-09-16T00:09:26.328+08:00 | INFO | Tips : 50
#> 2026-09-16T00:09:26.329+08:00 | INFO | Groups parsed : 5
#> 2026-09-16T00:09:26.329+08:00 | INFO | Groups collapsed : 5
#> 2026-09-16T00:09:26.329+08:00 | INFO | Singleton groups : 0
#> 2026-09-16T00:09:26.329+08:00 | INFO | Skipped (non-monophyletic) : 0
#> 2026-09-16T00:09:26.329+08:00 | INFO | Skipped (root/zero-tip) : 0
#> 2026-09-16T00:09:26.329+08:00 | INFO | Taxonomy format : GTDB
#> 2026-09-16T00:09:26.329+08:00 | INFO | Layout : rectangular
#> 2026-09-16T00:09:26.329+08:00 | INFO | Timescale : disabled
#> 2026-09-16T00:09:26.329+08:00 | INFO | plot_timetree completed successfullyp <- plot_timetree(example_tree, rank = "phylum",
taxonomy_format = "GTDB",
add_timescale = FALSE,
show_clade_label = TRUE)
#>
#> ============================================================
#> Rclade: Phylogenetic Tree Visualization
#> ============================================================
#> 2026-09-16T00:09:26.366+08:00 | INFO | Starting plot_timetree pipeline
#> 2026-09-16T00:09:26.366+08:00 | INFO | Tree input : phylo object
#> 2026-09-16T00:09:26.366+08:00 | INFO | Rank : phylum
#> 2026-09-16T00:09:26.366+08:00 | INFO | Layout : rectangular
#> 2026-09-16T00:09:26.366+08:00 | INFO | Unit : auto
#> 2026-09-16T00:09:26.366+08:00 | INFO | Step 1/7: Input validation and reading
#>
#> --------------------------------------------------
#> >> Input Validation
#> --------------------------------------------------
#> 2026-09-16T00:09:26.367+08:00 | INFO | Tips : 50
#> 2026-09-16T00:09:26.367+08:00 | INFO | Internal nodes : 49
#> 2026-09-16T00:09:26.367+08:00 | INFO | Edge lengths range : 40.1579 to 2758.4006
#> 2026-09-16T00:09:26.367+08:00 | INFO | Input validation passed
#> 2026-09-16T00:09:26.368+08:00 | INFO | Timer 'input_reading': 1 ms
#> 2026-09-16T00:09:26.368+08:00 | INFO | Step 2/7: Taxonomy parsing
#> 2026-09-16T00:09:26.368+08:00 | INFO | Using rank-based taxonomy: phylum
#> 2026-09-16T00:09:26.372+08:00 | INFO | Detected format : GTDB
#> 2026-09-16T00:09:26.372+08:00 | INFO | Groups found : 5
#> 2026-09-16T00:09:26.372+08:00 | INFO | Timer 'taxonomy_parsing': 4 ms
#> 2026-09-16T00:09:26.372+08:00 | INFO | Step 3/7: MRCA computation and monophyly check
#> 2026-09-16T00:09:26.372+08:00 | INFO | Checking monophyly and computing MRCA for each group...
#> 2026-09-16T00:09:26.373+08:00 | INFO | Valid groups for collapse: 5 out of 5 total groups
#> 2026-09-16T00:09:26.373+08:00 | INFO | Valid MRCA nodes : 5
#> 2026-09-16T00:09:26.373+08:00 | INFO | Timer 'mrca_computation': 1 ms
#> 2026-09-16T00:09:26.374+08:00 | INFO | Step 4/7: Color generation
#> 2026-09-16T00:09:26.374+08:00 | INFO | Color palette : viridis
#> 2026-09-16T00:09:26.374+08:00 | INFO | Step 5/7: Tree rendering
#> ! # Invaild edge matrix for <phylo>. A <tbl_df> is returned.
#> ! # Invaild edge matrix for <phylo>. A <tbl_df> is returned.
#> 2026-09-16T00:09:26.411+08:00 | INFO | Collapsing 5 clades...
#> 2026-09-16T00:09:26.423+08:00 | INFO | Clade collapse complete
#> 2026-09-16T00:09:26.423+08:00 | INFO | Timer 'tree_rendering': 49 ms
#> 2026-09-16T00:09:26.424+08:00 | INFO | Step 6/7: Timescale integration
#>
#> ============================================================
#> Pipeline Complete
#> ============================================================
#> 2026-09-16T00:09:26.457+08:00 | INFO | Tips : 50
#> 2026-09-16T00:09:26.457+08:00 | INFO | Groups parsed : 5
#> 2026-09-16T00:09:26.457+08:00 | INFO | Groups collapsed : 5
#> 2026-09-16T00:09:26.457+08:00 | INFO | Singleton groups : 0
#> 2026-09-16T00:09:26.457+08:00 | INFO | Skipped (non-monophyletic) : 0
#> 2026-09-16T00:09:26.457+08:00 | INFO | Skipped (root/zero-tip) : 0
#> 2026-09-16T00:09:26.457+08:00 | INFO | Taxonomy format : GTDB
#> 2026-09-16T00:09:26.458+08:00 | INFO | Layout : rectangular
#> 2026-09-16T00:09:26.458+08:00 | INFO | Timescale : disabled
#> 2026-09-16T00:09:26.458+08:00 | INFO | plot_timetree completed successfully
print(p)Before finalizing your figure, verify label parsing quality:
summarize_taxonomy_quality(example_tree$tip.label, format = "GTDB")
#> === Taxonomy Label Parsing Quality Report ===
#> Total labels: 50
#> Detected format: GTDB
#>
#> Per-rank parse rates:
#> kingdom 0.0% (0/50)
#> domain 100.0% (50/50) ====================
#> phylum 100.0% (50/50) ====================
#> class 100.0% (50/50) ====================
#> order 0.0% (0/50)
#> family 0.0% (0/50)
#> genus 0.0% (0/50)
#> species 0.0% (0/50)
#> subspecies 0.0% (0/50)
#>
#> All labels parsed successfully.Process multiple tree files at once:
Rclade builds on the ggtree and deeptime R packages. If you use Rclade in published research, please cite Rclade along with these key dependencies:
The geological timescale data is based on the ICS International Chronostratigraphic Chart 2023/02 (https://stratigraphy.org/chart/).
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.