From 4db79388fc693fc32b794f3a5def1b6a889a8843 Mon Sep 17 00:00:00 2001 From: mazznoer <56464409+mazznoer@users.noreply.github.com> Date: Fri, 31 Jul 2020 15:34:13 +0700 Subject: [PATCH] Scheme (#17) * Create scheme.go * Create scheme_test.go * Add files via upload * Update README.md * Update README.md * Update gradset.go * Update gradx.go --- README.md | 45 +++++++++++++-- gradset.go | 16 +++--- gradx.go | 2 +- img/scheme-accent.png | Bin 0 -> 520 bytes img/scheme-category10.png | Bin 0 -> 533 bytes img/scheme-dark2.png | Bin 0 -> 521 bytes img/scheme-paired.png | Bin 0 -> 549 bytes img/scheme-pastel1.png | Bin 0 -> 522 bytes img/scheme-pastel2.png | Bin 0 -> 518 bytes img/scheme-set1.png | Bin 0 -> 528 bytes img/scheme-set2.png | Bin 0 -> 521 bytes img/scheme-set3.png | Bin 0 -> 548 bytes scheme.go | 114 ++++++++++++++++++++++++++++++++++++++ scheme_test.go | 46 +++++++++++++++ 14 files changed, 210 insertions(+), 13 deletions(-) create mode 100644 img/scheme-accent.png create mode 100644 img/scheme-category10.png create mode 100644 img/scheme-dark2.png create mode 100644 img/scheme-paired.png create mode 100644 img/scheme-pastel1.png create mode 100644 img/scheme-pastel2.png create mode 100644 img/scheme-set1.png create mode 100644 img/scheme-set2.png create mode 100644 img/scheme-set3.png create mode 100644 scheme.go create mode 100644 scheme_test.go diff --git a/README.md b/README.md index 0aa8156..e640501 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,6 @@ [![go report](https://goreportcard.com/badge/github.com/mazznoer/colorgrad)](https://goreportcard.com/report/github.com/mazznoer/colorgrad) [![Build Status](https://travis-ci.org/mazznoer/colorgrad.svg?branch=master)](https://travis-ci.org/mazznoer/colorgrad) [![codecov](https://codecov.io/gh/mazznoer/colorgrad/branch/master/graph/badge.svg)](https://codecov.io/gh/mazznoer/colorgrad) - Fun & easy way to create _color gradient_ / _color scales_ in __Go__ (__Golang__). @@ -18,6 +15,7 @@ Fun & easy way to create _color gradient_ / _color scales_ in __Go__ (__Golang__ - [Basic](#basic) - [Custom Colors](#custom-colors) * [Preset Gradients](#preset-gradients) +* [Color Scheme](#color-scheme) * [Random Colors](#random-colors) * [Playground](#go-playground) * [Dependencies](#dependencies) @@ -171,6 +169,9 @@ grad.Colors(15) `grad := colorgrad.Greens()` ![img](img/gradient-greens.png) +`grad := colorgrad.Greys()` +![img](img/gradient-greys.png) + `grad := colorgrad.Oranges()` ![img](img/gradient-oranges.png) @@ -180,8 +181,42 @@ grad.Colors(15) `grad := colorgrad.Reds()` ![img](img/gradient-reds.png) -`grad := colorgrad.Greys()` -![img](img/gradient-greys.png) +### Color Scheme + +It just a slice of colors. But you can create gradient from color scheme. + +```go +grad, err := colorgrad.NewGradient(). + Colors(colorgrad.Scheme.Set1...). + Build() +``` + +`colorgrad.Scheme.Accent` +![img](img/scheme-accent.png) + +`colorgrad.Scheme.Category10` +![img](img/scheme-category10.png) + +`colorgrad.Scheme.Dark2` +![img](img/scheme-dark2.png) + +`colorgrad.Scheme.Paired` +![img](img/scheme-paired.png) + +`colorgrad.Scheme.Pastel1` +![img](img/scheme-pastel1.png) + +`colorgrad.Scheme.Pastel2` +![img](img/scheme-pastel2.png) + +`colorgrad.Scheme.Set1` +![img](img/scheme-set1.png) + +`colorgrad.Scheme.Set2` +![img](img/scheme-set2.png) + +`colorgrad.Scheme.Set3` +![img](img/scheme-set3.png) ### Random Colors diff --git a/gradset.go b/gradset.go index f48e89d..f0938ea 100644 --- a/gradset.go +++ b/gradset.go @@ -40,6 +40,8 @@ func Inferno() Gradient { return grad } +// Sequential (Single Hue) + func Blues() Gradient { colors := []string{"#f7fbff", "#deebf7", "#c6dbef", "#9ecae1", "#6baed6", "#4292c6", "#2171b5", "#08519c", "#08306b"} grad, _ := NewGradient(). @@ -56,6 +58,13 @@ func Greens() Gradient { return grad } +func Greys() Gradient { + grad, _ := NewGradient(). + HexColors("#ffffff", "#000000"). + Build() + return grad +} + func Oranges() Gradient { colors := []string{"#fff5eb", "#fee6ce", "#fdd0a2", "#fdae6b", "#fd8d3c", "#f16913", "#d94801", "#a63603", "#7f2704"} grad, _ := NewGradient(). @@ -79,10 +88,3 @@ func Reds() Gradient { Build() return grad } - -func Greys() Gradient { - grad, _ := NewGradient(). - HexColors("#ffffff", "#000000"). - Build() - return grad -} diff --git a/gradx.go b/gradx.go index 9304dc6..bbb9fce 100644 --- a/gradx.go +++ b/gradx.go @@ -58,7 +58,7 @@ func linspace(min, max float64, n uint) []float64 { return res } -// Convert []colorful.Color to []color.Color +// IntoColors convert []colorful.Color to []color.Color func IntoColors(colors []colorful.Color) []color.Color { res := make([]color.Color, len(colors)) diff --git a/img/scheme-accent.png b/img/scheme-accent.png new file mode 100644 index 0000000000000000000000000000000000000000..92c76027bca35448bdd304821802e626c616ffbd GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0y~yU{(OK12~v~WZsRoWCjMt^PVn_Ar*7pTr>1#Nt9p+ z+_Z3UGm~zJc4HTlU`B*E3;UOlhy_uiKPT_?Hz z&rH9FW83V3?8i?ZS6U@X?w|j>9T=(q|9|e}x|;t#c{`B9;OXk;vd$@?2>|!6fp7o- literal 0 HcmV?d00001 diff --git a/img/scheme-category10.png b/img/scheme-category10.png new file mode 100644 index 0000000000000000000000000000000000000000..75ea768f3d4a09e6f4a0d375c4186b76948c19d1 GIT binary patch literal 533 zcmeAS@N?(olHy`uVBq!ia0y~yU{(OK12~v~WZsRoWCjMtJDx6%Ar*7pT-&JYRw&~T z=rMJ;b~Pn|IhS`c=h;Kp;h9__v_nVwk*xtRtsb=Km5DoP|)=7^Orfj@5=7?Q`adq zl4W4{a9u)&p<%{BCWa2lQ3eeH;V&Bl!~g&8&-mOwKU2yDMmK|}tDnm{r-UW|mzA`` literal 0 HcmV?d00001 diff --git a/img/scheme-dark2.png b/img/scheme-dark2.png new file mode 100644 index 0000000000000000000000000000000000000000..0f9967fe1574b8d29b088606ef4ed46a05a2e69c GIT binary patch literal 521 zcmeAS@N?(olHy`uVBq!ia0y~yU{(OK12~v~WZsRoWCjMt3!W~HAr*7pTwCbtoG9TC z=#;?lWp+oYfd-RYx5}G_BNN)w8uTtOS~-QU*l}|De#`VG?e}-TeXTj1TKE6na^Yzo ze}1r?yP;?K{KF-OjN;<$mH~yz>gV`H9Q(K5S6wIB-qufD=W&@81H*$`5;_bGGY&E_ mbV!aeXb=caW0W~w zXlvP;ZP9g>)rT)Zd9mZ9*sg;wSWYaMvS~-dQAwS9-Zii9|NioG&I9wmzuwu^{CktL zfAaD5FFAW(FMbasH&5UFlC$yq{>MP}{mY+$yISihz KelF{r5}E+L#)v}z literal 0 HcmV?d00001 diff --git a/img/scheme-pastel1.png b/img/scheme-pastel1.png new file mode 100644 index 0000000000000000000000000000000000000000..32b71059fa3b8c30c2a6f6184832f3a9de81ad82 GIT binary patch literal 522 zcmeAS@N?(olHy`uVBq!ia0y~yU{(OK12~v~WZsRoWCjMti=HlyAr*7pTwCbNk|@D& z@u|}Ujw@>!uSALDE*8kxbwH3suJO=?BP#djpRN||ne%%8_36F2)wky_7Y^Hazus4U z&7*gp6Ri?O`?tTp%(;4pRo}~&(3<)`K0t|@s#$&!N8kTU14=J{$-vOyoxFj8A&HHf mK_P9FL4!c}CeOg||9_4ScO}cO-IsuI%;4$j=d#Wzp$P!c+=mbV literal 0 HcmV?d00001 diff --git a/img/scheme-pastel2.png b/img/scheme-pastel2.png new file mode 100644 index 0000000000000000000000000000000000000000..668ef7e2efa885f3e0ee57505240fe07dac8c1d8 GIT binary patch literal 518 zcmeAS@N?(olHy`uVBq!ia0y~yU{(OK12~v~WZsRoWCjMtvz{)FAr*7pT-%uG6v)u} zP#`F!)#Rmf*a?=%>y{;q+>RSAy2;(p+;K>|Zb!_|eVlyDf7zQIe=Gg^PdwjZb)V$# zKh3KSnbhTdzbL$Hz*!-Ar*7pT-)f$k|@D& z(RGcZ%bNok8+nus1(=Nwnyoo_#6`g8&B-58JO0d)_)*vQU28^x9>4i^>D%AFe6yXq zp=k+`+)vuewfh zb;W$Yh-0V!nathL^L}}*Rifni?f)-xp1vU)w_JGI$MTvvK