30 std::vector<std::uint32_t> series;
31 std::array<std::uint32_t,3> gradient;
35 inline const theme_t solarized_dark = {
41 { 0x268bd2, 0x859900, 0xb58900, 0xcb4b16,
42 0xdc322f, 0xd33682, 0x6c71c4, 0x2aa198 },
43 { 0x268bd2, 0xb58900, 0xdc322f }
46 inline const theme_t solarized_light = {
52 { 0x268bd2, 0x859900, 0xb58900, 0xcb4b16,
53 0xdc322f, 0xd33682, 0x6c71c4, 0x2aa198 },
54 { 0x268bd2, 0xb58900, 0xdc322f }
60 inline const theme_t dark_plus = {
66 { 0x569CD6, 0x4EC9B0, 0xCE9178, 0xDCDCAA,
67 0xC586C0, 0x9CDCFE, 0xB5CEA8, 0xD16969 },
68 { 0x569CD6, 0xDCDCAA, 0xCE9178 }
72 inline const theme_t light_plus = {
78 { 0x0000FF, 0x267F99, 0xA31515, 0x795E26,
79 0xAF00DB, 0x001080, 0x098658, 0xCD3131 },
80 { 0x0000FF, 0x795E26, 0xA31515 }
84 inline const theme_t monokai = {
90 { 0xF92672, 0xA6E22E, 0x66D9EF, 0xFD971F,
91 0xAE81FF, 0xE6DB74, 0x75715E, 0xF8F8F0 },
92 { 0x66D9EF, 0xA6E22E, 0xF92672 }
96 inline const theme_t dracula = {
102 { 0xFF79C6, 0xBD93F9, 0x50FA7B, 0x8BE9FD,
103 0xFFB86C, 0xFF5555, 0xF1FA8C, 0x6272A4 },
104 { 0x8BE9FD, 0xBD93F9, 0xFF79C6 }
108 inline const theme_t nord = {
114 { 0x88C0D0, 0x81A1C1, 0xA3BE8C, 0xEBCB8B,
115 0xBF616A, 0xB48EAD, 0xD08770, 0x8FBCBB },
116 { 0x88C0D0, 0xEBCB8B, 0xBF616A }
120 inline const theme_t one_dark = {
126 { 0x61AFEF, 0x98C379, 0xE06C75, 0xE5C07B,
127 0xC678DD, 0x56B6C2, 0xD19A66, 0xABB2BF },
128 { 0x61AFEF, 0x98C379, 0xE06C75 }
132 inline const theme_t gruvbox_dark = {
138 { 0x83A598, 0xB8BB26, 0xFB4934, 0xFABD2F,
139 0xD3869B, 0x8EC07C, 0xFE8019, 0xEBDBB2 },
140 { 0x83A598, 0xFABD2F, 0xFB4934 }
144 inline const theme_t gruvbox_light = {
150 { 0x076678, 0x79740E, 0x9D0006, 0xB57614,
151 0x8F3F71, 0x427B58, 0xAF3A03, 0x3C3836 },
152 { 0x076678, 0xB57614, 0x9D0006 }
156 inline const theme_t tomorrow_night = {
162 { 0x81A2BE, 0xB5BD68, 0xCC6666, 0xF0C674,
163 0xB294BB, 0x8ABEB7, 0xDE935F, 0xC5C8C6 },
164 { 0x81A2BE, 0xB5BD68, 0xCC6666 }
168 inline const theme_t night_owl = {
174 { 0x82AAFF, 0xADDB67, 0xEF5350, 0xFFCB8B,
175 0xC792EA, 0x7FDBCA, 0xF78C6C, 0xD6DEEB },
176 { 0x82AAFF, 0xADDB67, 0xEF5350 }
180 inline const theme_t material = {
186 { 0x82AAFF, 0xC3E88D, 0xF07178, 0xFFCB6B,
187 0xC792EA, 0x89DDFF, 0xF78C6C, 0xEEFFFF },
188 { 0x89DDFF, 0xC3E88D, 0xF07178 }
192 inline const theme_t tokyo_night = {
198 { 0x7AA2F7, 0x9ECE6A, 0xF7768E, 0xE0AF68,
199 0xBB9AF7, 0x7DCFFF, 0xFF9E64, 0xA9B1D6 },
200 { 0x7AA2F7, 0x9ECE6A, 0xF7768E }
208#ifndef PLOT_DEFAULT_THEME
209#define PLOT_DEFAULT_THEME solarized_dark
211 inline theme_t current_theme = PLOT_DEFAULT_THEME;
214 inline void theme(
const theme_t& t){ current_theme = t; }
219 using value_type = tag::theme_t;