From e31e721881f9f14574af2280a2d7b3e38599de01 Mon Sep 17 00:00:00 2001 From: Jan Marvin Garbuszus Date: Sun, 29 Dec 2024 16:16:14 +0100 Subject: [PATCH] [misc] add a hex icon (#1225) * [misc] add hex icon * [vignettes] align title and vignette index entry --- README.Rmd | 2 +- README.md | 2 +- inst/extdata/hex_icon.R | 81 +++++++++++++++++++++++++++++ inst/img/openxlsx2.png | Bin 0 -> 5626 bytes man/figures/logo.png | Bin 0 -> 31959 bytes vignettes/openxlsx2_read_to_df.Rmd | 4 +- 6 files changed, 85 insertions(+), 4 deletions(-) create mode 100644 inst/extdata/hex_icon.R create mode 100644 inst/img/openxlsx2.png create mode 100644 man/figures/logo.png diff --git a/README.Rmd b/README.Rmd index 6015c2dfc..2d428f438 100644 --- a/README.Rmd +++ b/README.Rmd @@ -13,7 +13,7 @@ knitr::opts_chunk$set( ) ``` -# openxlsx2 +# openxlsx2 [![R-CMD-check](https://github.com/JanMarvin/openxlsx2/workflows/R-CMD-check/badge.svg)](https://github.com/JanMarvin/openxlsx2/actions) diff --git a/README.md b/README.md index 28d4554f9..c217d71b3 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# openxlsx2 +# openxlsx2 diff --git a/inst/extdata/hex_icon.R b/inst/extdata/hex_icon.R new file mode 100644 index 000000000..76be74a01 --- /dev/null +++ b/inst/extdata/hex_icon.R @@ -0,0 +1,81 @@ +# install.packages(c("hexSticker", "showtext")) +library(openxlsx2) +library(ggplot2) +library(hexSticker) +library(showtext) + +## create the background in a spreadsheet matrix +wb <- wb_workbook()$add_worksheet(grid_lines = FALSE)$ + set_row_heights(rows = 1:5 + 1L, heights = 15)$ + set_col_widths(cols = 1:5 + 1L, width = 2.15) + +mm <- matrix(0, 5, 5) +# Fill the secondary diagonals with unique values +for (k in 1:10) { # Loop over all diagonals relative to the main diagonal + idx <- which(row(mm) + col(mm) - 1 == k, arr.ind = TRUE) + mm[idx] <- k # Assign the value k or any sequence +} + +tm <- mm - 4 +tm[tm < 1] <- 0 + +# Palette from https://loading.io/color/feature/Greens-5/ +# Loading.io Free License +# +# With Loading.io Free license ( LD-FREE / FREE / Free License ), items are +# dedicated to the public domain by waiving all our right worldwide under +# copyright law. You can use items under LD-FREE freely for any purpose. No +# attribution is required. +greens <- c("#edf8e9", "#bae4b3", "#74c476", "#31a354", "#006d2c") + +for (i in 1:5) { + coords <- as.data.frame(which(tm == i, arr.ind = TRUE)) + dims <- paste0( + mapply(coords$row, coords$col, FUN = function(x, y) { + wb_dims(rows = x, cols = y, from_dims = "B2") + }), collapse = ",") + wb$add_fill(dims = dims, color = wb_color(greens[i])) +} + +# screenshot the area and save to file +if (interactive()) wb$open() + +df <- as.data.frame(as.table(tm)) +colnames(df) <- c("x", "y", "value") + +# Define the green color palette, with white for 0 +greens <- c("0" = "white", setNames(greens, 1:5)) # or "transparent" + +# Create the ggplot +gg <- ggplot(df, aes(x = x, y = y, fill = as.character(value))) + + geom_tile() + # Add black borders to tiles + scale_y_discrete(limits = rev) + # Reverse the y-axis to align with bottom-left orientation + scale_fill_manual(values = greens, guide = "none") + # Use custom color mapping + coord_fixed() + # Keep tiles square + theme_void() + # Minimalist theme + theme(legend.position = "none") + # Remove legend + labs(x = NULL, y = NULL) # Remove axis labels + +## Loading Google fonts (http://www.google.com/fonts) +# All Noto fonts are licensed under the Open Font License. +# You can use them in all your products & projects — print or digital, +# commercial or otherwise. +font_add_google("Noto sans", "noto") + +s <- sticker(gg, package = "openxlsx2", + s_x = 1, s_y = 1, s_width = 1, s_height = 1, + h_fill = greens[1], h_color = greens[length(greens)], h_size = 1, + p_size = 25, p_color = greens[length(greens)], p_x = 1, p_y = 1.1, + p_family = "noto", p_fontface = "bold", + filename = "man/figures/logo.png") + +s + +# imgurl <- "inst/img/openxlsx2.png" +# s <- sticker(imgurl, package = "openxlsx2", +# s_x = 1, s_y = 1, s_width = .6, spotlight = FALSE, +# h_fill = "#FFF", h_color = greens[5], h_size = 1, +# p_size = 25, p_color = greens[5], p_x = 1, p_y = 1.1, +# p_family = "noto", p_fontface = "bold", +# filename = "man/figures/logo.png") +# s diff --git a/inst/img/openxlsx2.png b/inst/img/openxlsx2.png new file mode 100644 index 0000000000000000000000000000000000000000..ceb443003c926a3dfc876a9d4e9f3e703ed5734b GIT binary patch literal 5626 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 z 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 Oe=V&nRrJy*@c#fD%`p4` literal 0 HcmV?d00001 diff --git a/vignettes/openxlsx2_read_to_df.Rmd b/vignettes/openxlsx2_read_to_df.Rmd index c8b6d36ad..65aa70752 100644 --- a/vignettes/openxlsx2_read_to_df.Rmd +++ b/vignettes/openxlsx2_read_to_df.Rmd @@ -1,8 +1,8 @@ --- -title: "openxlsx2 read to data frame manual" +title: "openxlsx2 read to data frame" output: rmarkdown::html_vignette vignette: > - %\VignetteIndexEntry{openxlsx2 read to dataframe} + %\VignetteIndexEntry{openxlsx2 read to data frame} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} ---