189 lines
3.4 KiB
SCSS
189 lines
3.4 KiB
SCSS
/*
|
|
* theme/_default.scss - Default Color Theme
|
|
* Categorical Colors Adapted from d3:
|
|
* https://github.com/mbostock/d3/wiki/Ordinal-Scales#categorical-colors
|
|
*/
|
|
|
|
// Fonts
|
|
.epoch {
|
|
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
font-size: 12pt;
|
|
}
|
|
|
|
// Axes and Ticks
|
|
.epoch {
|
|
.axis path, .axis line {
|
|
fill: transparent;
|
|
stroke: #000;
|
|
}
|
|
|
|
.axis .tick text {
|
|
font-size: 9pt;
|
|
}
|
|
}
|
|
|
|
// Line Charts
|
|
.epoch .line {
|
|
fill: transparent;
|
|
stroke-width: 2px;
|
|
}
|
|
|
|
.epoch.sparklines .line {
|
|
stroke-width: 1px;
|
|
}
|
|
|
|
|
|
// Area Charts
|
|
.epoch .area {
|
|
stroke: transparent;
|
|
}
|
|
|
|
// Pie Charts
|
|
.epoch {
|
|
.arc.pie {
|
|
stroke: #fff;
|
|
stroke-width: 1.5px;
|
|
}
|
|
|
|
.arc.pie text {
|
|
stroke: transparent;
|
|
fill: white;
|
|
font-size: 9pt;
|
|
}
|
|
}
|
|
|
|
// Gauge Charts
|
|
.epoch .gauge-labels {
|
|
.value {
|
|
text-anchor: middle;
|
|
font-size: 140%;
|
|
fill: #666;
|
|
}
|
|
}
|
|
|
|
.epoch.gauge-tiny {
|
|
width: 120px; height: 90px;
|
|
|
|
.gauge-labels {
|
|
.value { font-size: 80%; }
|
|
}
|
|
|
|
.gauge {
|
|
.arc.outer {
|
|
stroke-width: 2px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.epoch.gauge-small {
|
|
width: 180px; height: 135px;
|
|
|
|
.gauge-labels {
|
|
.value { font-size: 120%; }
|
|
}
|
|
|
|
.gauge {
|
|
.arc.outer {
|
|
stroke-width: 3px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.epoch.gauge-medium {
|
|
width: 240px; height: 180px;
|
|
|
|
.gauge {
|
|
.arc.outer {
|
|
stroke-width: 3px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.epoch.gauge-large {
|
|
width: 320px; height: 240px;
|
|
.gauge-labels {
|
|
.value { font-size: 180%; }
|
|
}
|
|
}
|
|
|
|
.epoch .gauge {
|
|
.arc.outer {
|
|
stroke-width: 4px;
|
|
stroke: #666;
|
|
}
|
|
.arc.inner {
|
|
stroke-width: 1px;
|
|
stroke: #555;
|
|
}
|
|
.tick {
|
|
stroke-width: 1px;
|
|
stroke: #555;
|
|
}
|
|
|
|
.needle {
|
|
fill: orange;
|
|
}
|
|
|
|
.needle-base {
|
|
fill: #666;
|
|
}
|
|
}
|
|
|
|
// Categorical Colors
|
|
$category10:
|
|
#1f77b4, #ff7f0e, #2ca02c, #d62728, #9467bd,
|
|
#8c564b, #e377c2, #7f7f7f, #bcbd22, #17becf;
|
|
|
|
.epoch, .epoch.category10 {
|
|
@include epoch-category-colors($category10, 10);
|
|
}
|
|
|
|
$category20:
|
|
#1f77b4, #aec7e8, #ff7f0e, #ffbb78, #2ca02c,
|
|
#98df8a, #d62728, #ff9896, #9467bd, #c5b0d5,
|
|
#8c564b, #c49c94, #e377c2, #f7b6d2, #7f7f7f,
|
|
#c7c7c7, #bcbd22, #dbdb8d, #17becf, #9edae5;
|
|
|
|
.epoch.category20 {
|
|
@include epoch-category-colors($category20, 20);
|
|
}
|
|
|
|
$category20b:
|
|
#393b79, #5254a3, #6b6ecf, #9c9ede, #637939,
|
|
#8ca252, #b5cf6b, #cedb9c, #8c6d31, #bd9e39,
|
|
#e7ba52, #e7cb94, #843c39, #ad494a, #d6616b,
|
|
#e7969c, #7b4173, #a55194, #ce6dbd, #de9ed6;
|
|
|
|
.epoch.category20b {
|
|
@include epoch-category-colors($category20b, 20);
|
|
}
|
|
|
|
$category20c:
|
|
#3182bd, #6baed6, #9ecae1, #c6dbef,
|
|
#e6550d, #fd8d3c, #fdae6b, #fdd0a2,
|
|
#31a354, #74c476, #a1d99b, #c7e9c0,
|
|
#756bb1, #9e9ac8, #bcbddc, #dadaeb,
|
|
#636363, #969696, #bdbdbd, #d9d9d9;
|
|
|
|
.epoch.category20c {
|
|
@include epoch-category-colors($category20c, 20);
|
|
}
|
|
|
|
|
|
/*
|
|
* Heatmap Colors
|
|
*
|
|
* The heatmap real-time graph uses color blending to choose the color for which to render each bucket.
|
|
* Basic d3 categorical colors do not work well in this instance because the colors in the sequence
|
|
* vary wildly in precieved luminosity.
|
|
*
|
|
* Below we define small subsets that should work well together because they are of similar luminosities.
|
|
* Note: darker colors work better since we use opacity to denote "height" or "intensity" for each bucket
|
|
* after picking a mix color.
|
|
*/
|
|
$heatmap5:
|
|
#1f77b4, #2ca02c, #d62728, #8c564b, #7f7f7f;
|
|
|
|
.epoch, .epoch.heatmap5 {
|
|
@include epoch-heatmap-colors($heatmap5, 5);
|
|
}
|