https://github.com/technocrat/colorvintner.jl
A Julia package for exploring and visualizing ColorBrewer color schemes using Makie.
https://github.com/technocrat/colorvintner.jl
colorbrewer julia
Last synced: 9 months ago
JSON representation
A Julia package for exploring and visualizing ColorBrewer color schemes using Makie.
- Host: GitHub
- URL: https://github.com/technocrat/colorvintner.jl
- Owner: technocrat
- License: mit
- Created: 2025-06-27T09:07:45.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-30T23:47:12.000Z (12 months ago)
- Last Synced: 2025-09-26T09:47:54.779Z (9 months ago)
- Topics: colorbrewer, julia
- Language: Julia
- Homepage: http://technocrat.site/ColorVintner
- Size: 245 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ColorVintner
A Julia package for exploring and visualizing ColorBrewer color schemes using Makie.
## Features
- **Comprehensive Color Scheme Access**: Access to all ColorBrewer sequential, diverging, and qualitative color schemes
- **Interactive Visualization**: Create beautiful color bar plots using Makie
- **Scheme Exploration**: Browse and examine color schemes with detailed information
- **Export Capabilities**: Save plots as PDF files for publication
- **Organized Display**: Split large scheme collections into manageable parts
## Installation
```julia
using Pkg
Pkg.add("ColorVintner")
```
## Quick Start
```julia
using ColorVintner
# Show all available scheme names
show_all_scheme_names()
# Get information about a specific scheme
list_scheme_colors_in_rbg(:Blues_5)
# Create a DataFrame with all schemes and their hex colors
df = list_schemes_colors_in_hex()
# Plot a few schemes
plot_color_bars([:Blues_5, :Reds_5, :Greens_5])
# Create comprehensive plots for all categories
plots = plot_schemes_by_category()
```
## Main Functions
### Exploration Functions
- `show_all_scheme_names()`: Print all available color scheme names
- `list_scheme_colors_in_rbg(scheme_name)`: Display detailed information about a specific scheme
- `list_schemes_colors_in_hex()`: Create a DataFrame with all schemes and their hex representations
### Plotting Functions
- `plot_color_bars(schemes)`: Create color bar plots for a list of schemes
- `plot_schemes_by_category()`: Create comprehensive plots for all categories
- `plot_sequential_schemes_split()`: Create plots for sequential schemes (split into 4 parts)
- `plot_diverging_schemes_split()`: Create plots for diverging schemes (split into 3 parts)
- `plot_qualitative_schemes_split()`: Create plots for qualitative schemes (split into 2 parts)
### Distribution Functions
- `show_sequential_distribution()`: Show how sequential schemes are distributed
- `show_diverging_distribution()`: Show how diverging schemes are distributed
- `show_qualitative_distribution()`: Show how qualitative schemes are distributed
## Examples
### Basic Usage
```julia
using ColorVintner
# Plot a few schemes with custom settings
plot_color_bars([:Blues_5, :Reds_5, :Greens_5],
schemes_per_row=3,
save_path="my_plot.pdf",
plot_title="My Color Schemes")
```
### Comprehensive Visualization
```julia
# Create all category plots and save to a directory
plots = plot_schemes_by_category(save_dir="./color_plots")
```
### Scheme Information
```julia
# Get detailed information about a scheme
colors = list_scheme_colors_in_rbg(:Blues_5)
# Get all schemes as a DataFrame
df = list_schemes_colors_in_hex()
first(df, 10) # Show first 10 schemes
```
## Color Scheme Categories
### Sequential Schemes
Sequential color schemes are designed for data that progresses from low to high values. They use a single hue that varies in lightness and saturation.
### Diverging Schemes
Diverging color schemes are designed for data that has a meaningful center point (like zero). They use two different hues that meet at a neutral color.
### Qualitative Schemes
Qualitative color schemes are designed for categorical data. They use distinct colors that are easily distinguishable from each other.
## Dependencies
- **CairoMakie**: For high-quality plotting
- **ColorSchemes**: For access to ColorBrewer schemes
- **Colors**: For color manipulation
- **DataFrames**: For data organization
- **Makie**: For plotting framework
## License
This package is licensed under the MIT License.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.