Skip to content

Commit c87d494

Browse files
committed
ordinal color legend label support
1 parent 44f4f9a commit c87d494

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1168
-1042
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -648,7 +648,8 @@ If there is no scale with the given *scaleName* on the given *plot*, then *plot*
648648

649649
Categorical and ordinal color legends are rendered as swatches, unless *options*.**legend** is set to *ramp*. The swatches can be configured with the following options:
650650

651-
* *options*.**tickFormat** - a format function for the labels
651+
* *options*.**label** - the scale’s label
652+
* *options*.**tickFormat** - a format function for the domain values
652653
* *options*.**swatchSize** - the size of the swatch (if square)
653654
* *options*.**swatchWidth** - the swatches’ width
654655
* *options*.**swatchHeight** - the swatches’ height

src/legends.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ export function exposeLegends(scales, context, defaults = {}) {
3939
};
4040
}
4141

42-
function legendOptions(context, {label, ticks, tickFormat} = {}, options) {
43-
return inherit(options, context, {label, ticks, tickFormat});
42+
function legendOptions(context, {label, ticks, tickFormat} = {}, options = {}) {
43+
return inherit(options, context, {label, ticks, tickFormat, ...options});
4444
}
4545

4646
function legendColor(color, {legend = true, ...options}) {

src/legends/swatches.js

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ function legendItems(scale, options = {}, swatch, swatchStyle) {
8989
columns,
9090
tickFormat,
9191
fontVariant = inferFontVariant(scale),
92-
// TODO label,
92+
label = scale.label,
9393
swatchSize = 15,
9494
swatchWidth = swatchSize,
9595
swatchHeight = swatchSize,
@@ -112,10 +112,23 @@ function legendItems(scale, options = {}, swatch, swatchStyle) {
112112
`
113113
);
114114

115-
let extraStyle;
115+
const hasTitle = label != null && label !== "";
116+
const palette = hasTitle
117+
? swatches.call((div) => div.append("div").attr("class", `${className}-title`).text(label)).append("div")
118+
: swatches;
119+
palette.classed(`${className}-palette`, true);
120+
121+
let extraStyle = hasTitle
122+
? `
123+
.${className}-title {
124+
font-weight: bold;
125+
display: block;
126+
margin-bottom: 0.4em;
127+
}`
128+
: "";
116129

117130
if (columns != null) {
118-
extraStyle = `
131+
extraStyle += `
119132
.${className}-swatch {
120133
display: flex;
121134
align-items: center;
@@ -132,7 +145,7 @@ function legendItems(scale, options = {}, swatch, swatchStyle) {
132145
}
133146
`;
134147

135-
swatches
148+
palette
136149
.style("columns", columns)
137150
.selectAll()
138151
.data(scale.domain)
@@ -144,10 +157,10 @@ function legendItems(scale, options = {}, swatch, swatchStyle) {
144157
item.append("div").attr("class", `${className}-label`).attr("title", tickFormat).text(tickFormat)
145158
);
146159
} else {
147-
extraStyle = `
148-
.${className} {
160+
extraStyle += `
161+
.${className}-palette {
149162
display: flex;
150-
align-items: center;
163+
align-items: flex-start;
151164
min-height: 33px;
152165
flex-wrap: wrap;
153166
}
@@ -158,7 +171,7 @@ function legendItems(scale, options = {}, swatch, swatchStyle) {
158171
}
159172
`;
160173

161-
swatches
174+
palette
162175
.selectAll()
163176
.data(scale.domain)
164177
.enter()

test/output/athletesSortNationality.html

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,15 @@
1717
margin-right: 0.5em;
1818
}
1919

20-
.plot {
20+
.plot-title {
21+
font-weight: bold;
22+
display: block;
23+
margin-bottom: 0.4em;
24+
}
25+
26+
.plot-palette {
2127
display: flex;
22-
align-items: center;
28+
align-items: flex-start;
2329
min-height: 33px;
2430
flex-wrap: wrap;
2531
}
@@ -29,27 +35,29 @@
2935
align-items: center;
3036
margin-right: 1em;
3137
}
32-
</style><span class="plot-swatch"><svg fill="#4e79a7" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
33-
<rect width="100%" height="100%"></rect>
34-
</svg>ESP</span><span class="plot-swatch"><svg fill="#f28e2c" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
35-
<rect width="100%" height="100%"></rect>
36-
</svg>KOR</span><span class="plot-swatch"><svg fill="#e15759" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
37-
<rect width="100%" height="100%"></rect>
38-
</svg>CAN</span><span class="plot-swatch"><svg fill="#76b7b2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
39-
<rect width="100%" height="100%"></rect>
40-
</svg>MDA</span><span class="plot-swatch"><svg fill="#59a14f" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
41-
<rect width="100%" height="100%"></rect>
42-
</svg>NZL</span><span class="plot-swatch"><svg fill="#edc949" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
43-
<rect width="100%" height="100%"></rect>
44-
</svg>AUS</span><span class="plot-swatch"><svg fill="#af7aa1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
45-
<rect width="100%" height="100%"></rect>
46-
</svg>USA</span><span class="plot-swatch"><svg fill="#ff9da7" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
47-
<rect width="100%" height="100%"></rect>
48-
</svg>ETH</span><span class="plot-swatch"><svg fill="#9c755f" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
49-
<rect width="100%" height="100%"></rect>
50-
</svg>BRN</span><span class="plot-swatch"><svg fill="#bab0ab" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
51-
<rect width="100%" height="100%"></rect>
52-
</svg>IOA</span>
38+
</style>
39+
<div class="plot-title">nationality</div>
40+
<div class="plot-palette"><span class="plot-swatch"><svg fill="#4e79a7" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
41+
<rect width="100%" height="100%"></rect>
42+
</svg>ESP</span><span class="plot-swatch"><svg fill="#f28e2c" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
43+
<rect width="100%" height="100%"></rect>
44+
</svg>KOR</span><span class="plot-swatch"><svg fill="#e15759" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
45+
<rect width="100%" height="100%"></rect>
46+
</svg>CAN</span><span class="plot-swatch"><svg fill="#76b7b2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
47+
<rect width="100%" height="100%"></rect>
48+
</svg>MDA</span><span class="plot-swatch"><svg fill="#59a14f" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
49+
<rect width="100%" height="100%"></rect>
50+
</svg>NZL</span><span class="plot-swatch"><svg fill="#edc949" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
51+
<rect width="100%" height="100%"></rect>
52+
</svg>AUS</span><span class="plot-swatch"><svg fill="#af7aa1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
53+
<rect width="100%" height="100%"></rect>
54+
</svg>USA</span><span class="plot-swatch"><svg fill="#ff9da7" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
55+
<rect width="100%" height="100%"></rect>
56+
</svg>ETH</span><span class="plot-swatch"><svg fill="#9c755f" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
57+
<rect width="100%" height="100%"></rect>
58+
</svg>BRN</span><span class="plot-swatch"><svg fill="#bab0ab" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
59+
<rect width="100%" height="100%"></rect>
60+
</svg>IOA</span></div>
5361
</div><svg class="plot-2" fill="currentColor" font-family="system-ui, sans-serif" font-size="10" text-anchor="middle" width="640" height="400" viewBox="0 0 640 400" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
5462
<style>
5563
.plot-2 {

test/output/athletesSortNullLimit.html

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,15 @@
1717
margin-right: 0.5em;
1818
}
1919

20-
.plot {
20+
.plot-title {
21+
font-weight: bold;
22+
display: block;
23+
margin-bottom: 0.4em;
24+
}
25+
26+
.plot-palette {
2127
display: flex;
22-
align-items: center;
28+
align-items: flex-start;
2329
min-height: 33px;
2430
flex-wrap: wrap;
2531
}
@@ -29,27 +35,29 @@
2935
align-items: center;
3036
margin-right: 1em;
3137
}
32-
</style><span class="plot-swatch"><svg fill="#4e79a7" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
33-
<rect width="100%" height="100%"></rect>
34-
</svg>ESP</span><span class="plot-swatch"><svg fill="#f28e2c" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
35-
<rect width="100%" height="100%"></rect>
36-
</svg>KOR</span><span class="plot-swatch"><svg fill="#e15759" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
37-
<rect width="100%" height="100%"></rect>
38-
</svg>CAN</span><span class="plot-swatch"><svg fill="#76b7b2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
39-
<rect width="100%" height="100%"></rect>
40-
</svg>MDA</span><span class="plot-swatch"><svg fill="#59a14f" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
41-
<rect width="100%" height="100%"></rect>
42-
</svg>NZL</span><span class="plot-swatch"><svg fill="#edc949" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
43-
<rect width="100%" height="100%"></rect>
44-
</svg>AUS</span><span class="plot-swatch"><svg fill="#af7aa1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
45-
<rect width="100%" height="100%"></rect>
46-
</svg>USA</span><span class="plot-swatch"><svg fill="#ff9da7" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
47-
<rect width="100%" height="100%"></rect>
48-
</svg>ETH</span><span class="plot-swatch"><svg fill="#9c755f" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
49-
<rect width="100%" height="100%"></rect>
50-
</svg>BRN</span><span class="plot-swatch"><svg fill="#bab0ab" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
51-
<rect width="100%" height="100%"></rect>
52-
</svg>IOA</span>
38+
</style>
39+
<div class="plot-title">nationality</div>
40+
<div class="plot-palette"><span class="plot-swatch"><svg fill="#4e79a7" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
41+
<rect width="100%" height="100%"></rect>
42+
</svg>ESP</span><span class="plot-swatch"><svg fill="#f28e2c" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
43+
<rect width="100%" height="100%"></rect>
44+
</svg>KOR</span><span class="plot-swatch"><svg fill="#e15759" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
45+
<rect width="100%" height="100%"></rect>
46+
</svg>CAN</span><span class="plot-swatch"><svg fill="#76b7b2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
47+
<rect width="100%" height="100%"></rect>
48+
</svg>MDA</span><span class="plot-swatch"><svg fill="#59a14f" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
49+
<rect width="100%" height="100%"></rect>
50+
</svg>NZL</span><span class="plot-swatch"><svg fill="#edc949" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
51+
<rect width="100%" height="100%"></rect>
52+
</svg>AUS</span><span class="plot-swatch"><svg fill="#af7aa1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
53+
<rect width="100%" height="100%"></rect>
54+
</svg>USA</span><span class="plot-swatch"><svg fill="#ff9da7" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
55+
<rect width="100%" height="100%"></rect>
56+
</svg>ETH</span><span class="plot-swatch"><svg fill="#9c755f" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
57+
<rect width="100%" height="100%"></rect>
58+
</svg>BRN</span><span class="plot-swatch"><svg fill="#bab0ab" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
59+
<rect width="100%" height="100%"></rect>
60+
</svg>IOA</span></div>
5361
</div><svg class="plot-2" fill="currentColor" font-family="system-ui, sans-serif" font-size="10" text-anchor="middle" width="640" height="400" viewBox="0 0 640 400" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
5462
<style>
5563
.plot-2 {

test/output/caltrain.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<figure style="max-width: initial;">
2-
<div class="plot" style="
2+
<div class="plot plot-palette" style="
33
--swatchWidth: 15px;
44
--swatchHeight: 15px;
55
">
@@ -17,9 +17,9 @@
1717
margin-right: 0.5em;
1818
}
1919

20-
.plot {
20+
.plot-palette {
2121
display: flex;
22-
align-items: center;
22+
align-items: flex-start;
2323
min-height: 33px;
2424
flex-wrap: wrap;
2525
}

test/output/colorLegendCategorical.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div class="plot" style="
1+
<div class="plot plot-palette" style="
22
--swatchWidth: 15px;
33
--swatchHeight: 15px;
44
">
@@ -16,9 +16,9 @@
1616
margin-right: 0.5em;
1717
}
1818

19-
.plot {
19+
.plot-palette {
2020
display: flex;
21-
align-items: center;
21+
align-items: flex-start;
2222
min-height: 33px;
2323
flex-wrap: wrap;
2424
}
Lines changed: 62 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
<div class="plot" style="--swatchWidth: 15px; --swatchHeight: 15px; columns: 180px;">
1+
<div class="plot" style="
2+
--swatchWidth: 15px;
3+
--swatchHeight: 15px;
4+
">
25
<style>
36
.plot {
47
font-family: system-ui, sans-serif;
@@ -13,6 +16,12 @@
1316
margin-right: 0.5em;
1417
}
1518

19+
.plot-title {
20+
font-weight: bold;
21+
display: block;
22+
margin-bottom: 0.4em;
23+
}
24+
1625
.plot-swatch {
1726
display: flex;
1827
align-items: center;
@@ -30,54 +39,57 @@
3039
text-overflow: ellipsis;
3140
}
3241
</style>
33-
<div class="plot-swatch"><svg fill="#4e79a7" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
34-
<rect width="100%" height="100%"></rect>
35-
</svg>
36-
<div class="plot-label" title="Wholesale and Retail Trade">Wholesale and Retail Trade</div>
37-
</div>
38-
<div class="plot-swatch"><svg fill="#f28e2c" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
39-
<rect width="100%" height="100%"></rect>
40-
</svg>
41-
<div class="plot-label" title="Manufacturing">Manufacturing</div>
42-
</div>
43-
<div class="plot-swatch"><svg fill="#e15759" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
44-
<rect width="100%" height="100%"></rect>
45-
</svg>
46-
<div class="plot-label" title="Leisure and hospitality">Leisure and hospitality</div>
47-
</div>
48-
<div class="plot-swatch"><svg fill="#76b7b2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
49-
<rect width="100%" height="100%"></rect>
50-
</svg>
51-
<div class="plot-label" title="Business services">Business services</div>
52-
</div>
53-
<div class="plot-swatch"><svg fill="#59a14f" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
54-
<rect width="100%" height="100%"></rect>
55-
</svg>
56-
<div class="plot-label" title="Construction">Construction</div>
57-
</div>
58-
<div class="plot-swatch"><svg fill="#edc949" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
59-
<rect width="100%" height="100%"></rect>
60-
</svg>
61-
<div class="plot-label" title="Education and Health">Education and Health</div>
62-
</div>
63-
<div class="plot-swatch"><svg fill="#af7aa1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
64-
<rect width="100%" height="100%"></rect>
65-
</svg>
66-
<div class="plot-label" title="Government">Government</div>
67-
</div>
68-
<div class="plot-swatch"><svg fill="#ff9da7" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
69-
<rect width="100%" height="100%"></rect>
70-
</svg>
71-
<div class="plot-label" title="Finance">Finance</div>
72-
</div>
73-
<div class="plot-swatch"><svg fill="#9c755f" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
74-
<rect width="100%" height="100%"></rect>
75-
</svg>
76-
<div class="plot-label" title="Self-employed">Self-employed</div>
77-
</div>
78-
<div class="plot-swatch"><svg fill="#bab0ab" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
79-
<rect width="100%" height="100%"></rect>
80-
</svg>
81-
<div class="plot-label" title="Other">Other</div>
42+
<div class="plot-title">Industry</div>
43+
<div class="plot-palette" style="columns: 180px;">
44+
<div class="plot-swatch"><svg fill="#4e79a7" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
45+
<rect width="100%" height="100%"></rect>
46+
</svg>
47+
<div class="plot-label" title="Wholesale and Retail Trade">Wholesale and Retail Trade</div>
48+
</div>
49+
<div class="plot-swatch"><svg fill="#f28e2c" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
50+
<rect width="100%" height="100%"></rect>
51+
</svg>
52+
<div class="plot-label" title="Manufacturing">Manufacturing</div>
53+
</div>
54+
<div class="plot-swatch"><svg fill="#e15759" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
55+
<rect width="100%" height="100%"></rect>
56+
</svg>
57+
<div class="plot-label" title="Leisure and hospitality">Leisure and hospitality</div>
58+
</div>
59+
<div class="plot-swatch"><svg fill="#76b7b2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
60+
<rect width="100%" height="100%"></rect>
61+
</svg>
62+
<div class="plot-label" title="Business services">Business services</div>
63+
</div>
64+
<div class="plot-swatch"><svg fill="#59a14f" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
65+
<rect width="100%" height="100%"></rect>
66+
</svg>
67+
<div class="plot-label" title="Construction">Construction</div>
68+
</div>
69+
<div class="plot-swatch"><svg fill="#edc949" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
70+
<rect width="100%" height="100%"></rect>
71+
</svg>
72+
<div class="plot-label" title="Education and Health">Education and Health</div>
73+
</div>
74+
<div class="plot-swatch"><svg fill="#af7aa1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
75+
<rect width="100%" height="100%"></rect>
76+
</svg>
77+
<div class="plot-label" title="Government">Government</div>
78+
</div>
79+
<div class="plot-swatch"><svg fill="#ff9da7" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
80+
<rect width="100%" height="100%"></rect>
81+
</svg>
82+
<div class="plot-label" title="Finance">Finance</div>
83+
</div>
84+
<div class="plot-swatch"><svg fill="#9c755f" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
85+
<rect width="100%" height="100%"></rect>
86+
</svg>
87+
<div class="plot-label" title="Self-employed">Self-employed</div>
88+
</div>
89+
<div class="plot-swatch"><svg fill="#bab0ab" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
90+
<rect width="100%" height="100%"></rect>
91+
</svg>
92+
<div class="plot-label" title="Other">Other</div>
93+
</div>
8294
</div>
8395
</div>

0 commit comments

Comments
 (0)