-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpie_chart_test.go
322 lines (304 loc) · 102 KB
/
pie_chart_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
package charts
import (
"strconv"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func makeBasicPieChartOption() PieChartOption {
values := []float64{
1048, 735, 580, 484, 300,
}
return PieChartOption{
SeriesList: NewSeriesListPie(values),
Title: TitleOption{
Text: "Rainfall vs Evaporation",
Subtext: "Fake Data",
Offset: OffsetCenter,
},
Padding: NewBoxEqual(20),
Legend: LegendOption{
Vertical: True(),
Data: []string{
"Search Engine", "Direct", "Email", "Union Ads", "Video Ads",
},
Offset: OffsetLeft,
},
}
}
func TestNewPieChartOptionWithData(t *testing.T) {
t.Parallel()
opt := NewPieChartOptionWithData([]float64{12, 24, 48})
assert.Len(t, opt.SeriesList, 3)
assert.Equal(t, ChartTypePie, opt.SeriesList[0].Type)
assert.Equal(t, defaultPadding, opt.Padding)
p := NewPainter(PainterOptions{})
assert.NoError(t, p.PieChart(opt))
}
func TestPieChart(t *testing.T) {
t.Parallel()
tests := []struct {
name string
width int
height int
defaultTheme bool
makeOptions func() PieChartOption
result string
}{
{
name: "default",
defaultTheme: true,
makeOptions: makeBasicPieChartOption,
result: "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 600 400\"><path d=\"M 20 20\nL 580 20\nL 580 380\nL 20 380\nL 20 20\" style=\"stroke:none;fill:white\"/><path d=\"M 40 49\nL 70 49\" style=\"stroke-width:3;stroke:rgb(84,112,198);fill:none\"/><circle cx=\"55\" cy=\"49\" r=\"5\" style=\"stroke-width:3;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><text x=\"72\" y=\"55\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Search Engine</text><path d=\"M 40 69\nL 70 69\" style=\"stroke-width:3;stroke:rgb(145,204,117);fill:none\"/><circle cx=\"55\" cy=\"69\" r=\"5\" style=\"stroke-width:3;stroke:rgb(145,204,117);fill:rgb(145,204,117)\"/><text x=\"72\" y=\"75\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Direct</text><path d=\"M 40 89\nL 70 89\" style=\"stroke-width:3;stroke:rgb(250,200,88);fill:none\"/><circle cx=\"55\" cy=\"89\" r=\"5\" style=\"stroke-width:3;stroke:rgb(250,200,88);fill:rgb(250,200,88)\"/><text x=\"72\" y=\"95\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Email</text><path d=\"M 40 109\nL 70 109\" style=\"stroke-width:3;stroke:rgb(238,102,102);fill:none\"/><circle cx=\"55\" cy=\"109\" r=\"5\" style=\"stroke-width:3;stroke:rgb(238,102,102);fill:rgb(238,102,102)\"/><text x=\"72\" y=\"115\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Union Ads</text><path d=\"M 40 129\nL 70 129\" style=\"stroke-width:3;stroke:rgb(115,192,222);fill:none\"/><circle cx=\"55\" cy=\"129\" r=\"5\" style=\"stroke-width:3;stroke:rgb(115,192,222);fill:rgb(115,192,222)\"/><text x=\"72\" y=\"135\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Video Ads</text><text x=\"222\" y=\"55\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Rainfall vs Evaporation</text><text x=\"266\" y=\"70\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Fake Data</text><path d=\"M 300 207\nL 300 109\nA 98 98 119.89 0 1 384 255\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><path d=\"M 384 158\nL 397 151\nM 397 151\nL 412 151\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:none\"/><text x=\"415\" y=\"156\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Search Engine: 33.3%</text><path d=\"M 300 207\nL 384 255\nA 98 98 84.08 0 1 261 296\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:rgb(145,204,117)\"/><path d=\"M 330 300\nL 335 314\nM 335 314\nL 350 314\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:none\"/><text x=\"353\" y=\"319\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Direct: 23.35%</text><path d=\"M 300 207\nL 261 296\nA 98 98 66.35 0 1 203 207\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:rgb(250,200,88)\"/><path d=\"M 218 260\nL 206 268\nM 206 268\nL 191 268\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:none\"/><text x=\"107\" y=\"273\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Email: 18.43%</text><path d=\"M 300 207\nL 203 207\nA 98 98 55.37 0 1 245 127\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:rgb(238,102,102)\"/><path d=\"M 214 161\nL 201 154\nM 201 154\nL 186 154\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:none\"/><text x=\"75\" y=\"159\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Union Ads: 15.37%</text><path d=\"M 300 207\nL 245 127\nA 98 98 34.32 0 1 300 109\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:rgb(115,192,222)\"/><path d=\"M 272 114\nL 267 100\nM 267 100\nL 252 100\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:none\"/><text x=\"149\" y=\"105\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Video Ads: 9.53%</text></svg>",
},
{
name: "themed",
defaultTheme: false,
makeOptions: makeBasicPieChartOption,
result: "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 600 400\"><path d=\"M 0 0\nL 600 0\nL 600 400\nL 0 400\nL 0 0\" style=\"stroke:none;fill:rgb(40,40,40)\"/><path d=\"M 20 29\nL 50 29\" style=\"stroke-width:3;stroke:rgb(255,100,100);fill:none\"/><circle cx=\"35\" cy=\"29\" r=\"5\" style=\"stroke-width:3;stroke:rgb(255,100,100);fill:rgb(255,100,100)\"/><text x=\"52\" y=\"35\" style=\"stroke:none;fill:rgb(238,238,238);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Search Engine</text><path d=\"M 20 49\nL 50 49\" style=\"stroke-width:3;stroke:rgb(255,210,100);fill:none\"/><circle cx=\"35\" cy=\"49\" r=\"5\" style=\"stroke-width:3;stroke:rgb(255,210,100);fill:rgb(255,210,100)\"/><text x=\"52\" y=\"55\" style=\"stroke:none;fill:rgb(238,238,238);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Direct</text><path d=\"M 20 69\nL 50 69\" style=\"stroke-width:3;stroke:rgb(100,180,210);fill:none\"/><circle cx=\"35\" cy=\"69\" r=\"5\" style=\"stroke-width:3;stroke:rgb(100,180,210);fill:rgb(100,180,210)\"/><text x=\"52\" y=\"75\" style=\"stroke:none;fill:rgb(238,238,238);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Email</text><path d=\"M 20 89\nL 50 89\" style=\"stroke-width:3;stroke:rgb(64,160,110);fill:none\"/><circle cx=\"35\" cy=\"89\" r=\"5\" style=\"stroke-width:3;stroke:rgb(64,160,110);fill:rgb(64,160,110)\"/><text x=\"52\" y=\"95\" style=\"stroke:none;fill:rgb(238,238,238);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Union Ads</text><path d=\"M 20 109\nL 50 109\" style=\"stroke-width:3;stroke:rgb(154,100,180);fill:none\"/><circle cx=\"35\" cy=\"109\" r=\"5\" style=\"stroke-width:3;stroke:rgb(154,100,180);fill:rgb(154,100,180)\"/><text x=\"52\" y=\"115\" style=\"stroke:none;fill:rgb(238,238,238);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Video Ads</text><text x=\"222\" y=\"35\" style=\"stroke:none;fill:rgb(238,238,238);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Rainfall vs Evaporation</text><text x=\"266\" y=\"50\" style=\"stroke:none;fill:rgb(238,238,238);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Fake Data</text><path d=\"M 300 207\nL 300 93\nA 114 114 119.89 0 1 398 263\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(255,100,100);fill:rgb(255,100,100)\"/><path d=\"M 398 150\nL 411 143\nM 411 143\nL 426 143\" style=\"stroke-width:1;stroke:rgb(255,100,100);fill:none\"/><text x=\"429\" y=\"148\" style=\"stroke:none;fill:rgb(238,238,238);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Search Engine: 33.3%</text><path d=\"M 300 207\nL 398 263\nA 114 114 84.08 0 1 254 311\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(255,210,100);fill:rgb(255,210,100)\"/><path d=\"M 335 315\nL 340 329\nM 340 329\nL 355 329\" style=\"stroke-width:1;stroke:rgb(255,210,100);fill:none\"/><text x=\"358\" y=\"334\" style=\"stroke:none;fill:rgb(238,238,238);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Direct: 23.35%</text><path d=\"M 300 207\nL 254 311\nA 114 114 66.35 0 1 187 207\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(100,180,210);fill:rgb(100,180,210)\"/><path d=\"M 205 268\nL 192 276\nM 192 276\nL 177 276\" style=\"stroke-width:1;stroke:rgb(100,180,210);fill:none\"/><text x=\"93\" y=\"281\" style=\"stroke:none;fill:rgb(238,238,238);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Email: 18.43%</text><path d=\"M 300 207\nL 187 207\nA 114 114 55.37 0 1 236 113\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(64,160,110);fill:rgb(64,160,110)\"/><path d=\"M 200 154\nL 187 147\nM 187 147\nL 172 147\" style=\"stroke-width:1;stroke:rgb(64,160,110);fill:none\"/><text x=\"61\" y=\"152\" style=\"stroke:none;fill:rgb(238,238,238);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Union Ads: 15.37%</text><path d=\"M 300 207\nL 236 113\nA 114 114 34.32 0 1 300 93\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(154,100,180);fill:rgb(154,100,180)\"/><path d=\"M 267 99\nL 262 84\nM 262 84\nL 247 84\" style=\"stroke-width:1;stroke:rgb(154,100,180);fill:none\"/><text x=\"144\" y=\"89\" style=\"stroke:none;fill:rgb(238,238,238);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Video Ads: 9.53%</text></svg>",
},
{
name: "lots_labels-sortedDescending",
width: 1000,
height: 800,
defaultTheme: true,
makeOptions: func() PieChartOption {
values := []float64{
84358845, 68070697, 58850717, 48059777, 36753736, 19051562, 17947406, 11754004,
10827529, 10521556, 10467366, 10394055, 9597085, 9104772, 6447710, 5932654,
5563970, 5428792, 5194336, 3850894, 2857279, 2116792, 1883008, 1373101,
920701, 660809, 542051,
}
return PieChartOption{
SeriesList: NewSeriesListPie(values, PieSeriesOption{
Label: SeriesLabel{
Show: True(),
Formatter: "{b} ({c} ≅ {d})",
},
Radius: "200",
}),
Padding: NewBoxEqual(20),
Legend: LegendOption{
Data: []string{
"Germany",
"France",
"Italy",
"Spain",
"Poland",
"Romania",
"Netherlands",
"Belgium",
"Czech Republic",
"Sweden",
"Portugal",
"Greece",
"Hungary",
"Austria",
"Bulgaria",
"Denmark",
"Finland",
"Slovakia",
"Ireland",
"Croatia",
"Lithuania",
"Slovenia",
"Latvia",
"Estonia",
"Cyprus",
"Luxembourg",
"Malta",
},
Show: False(),
},
}
},
result: "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1000 800\"><path d=\"M 20 20\nL 980 20\nL 980 780\nL 20 780\nL 20 20\" style=\"stroke:none;fill:white\"/><path d=\"M 500 385\nL 500 185\nA 200 200 67.71 0 1 685 310\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><path d=\"M 611 219\nL 619 207\nM 619 207\nL 634 207\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:none\"/><text x=\"637\" y=\"212\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Germany (84358845 ≅ 18.8%)</text><path d=\"M 500 385\nL 685 310\nA 200 200 54.63 0 1 668 491\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:rgb(145,204,117)\"/><path d=\"M 699 402\nL 714 403\nM 714 403\nL 729 403\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:none\"/><text x=\"732\" y=\"408\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">France (68070697 ≅ 15.17%)</text><path d=\"M 500 385\nL 668 491\nA 200 200 47.23 0 1 536 581\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:rgb(250,200,88)\"/><path d=\"M 611 550\nL 620 563\nM 620 563\nL 635 563\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:none\"/><text x=\"638\" y=\"568\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Italy (58850717 ≅ 13.12%)</text><path d=\"M 500 385\nL 309 443\nA 200 200 14.40 0 1 301 394\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(252,132,82);fill:rgb(252,132,82)\"/><path d=\"M 303 419\nL 289 421\nM 289 421\nL 274 421\" style=\"stroke-width:1;stroke:rgb(252,132,82);fill:none\"/><text x=\"102\" y=\"426\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Netherlands (17947406 ≅ 4%)</text><path d=\"M 500 385\nL 332 492\nA 200 200 15.29 0 1 309 443\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:rgb(59,162,114)\"/><path d=\"M 319 468\nL 305 474\nM 305 474\nL 290 474\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:none\"/><text x=\"119\" y=\"479\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Romania (19051562 ≅ 4.24%)</text><path d=\"M 500 385\nL 406 561\nA 200 200 29.50 0 1 332 492\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:rgb(115,192,222)\"/><path d=\"M 364 531\nL 354 542\nM 354 542\nL 339 542\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:none\"/><text x=\"178\" y=\"547\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Poland (36753736 ≅ 8.19%)</text><path d=\"M 500 385\nL 536 581\nA 200 200 38.57 0 1 406 561\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:rgb(238,102,102)\"/><path d=\"M 470 582\nL 467 597\nM 467 597\nL 452 597\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:none\"/><text x=\"292\" y=\"602\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Spain (48059777 ≅ 10.71%)</text><path d=\"M 500 385\nL 301 394\nA 200 200 9.43 0 1 302 362\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:rgb(154,96,180)\"/><path d=\"M 301 378\nL 286 378\nM 286 378\nL 271 378\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:none\"/><text x=\"103\" y=\"383\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Belgium (11754004 ≅ 2.62%)</text><path d=\"M 500 385\nL 302 362\nA 200 200 8.69 0 1 308 332\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(234,124,204);fill:rgb(234,124,204)\"/><path d=\"M 304 347\nL 290 344\nM 290 344\nL 275 344\" style=\"stroke-width:1;stroke:rgb(234,124,204);fill:none\"/><text x=\"66\" y=\"349\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Czech Republic (10827529 ≅ 2.41%)</text><path d=\"M 500 385\nL 308 332\nA 200 200 8.44 0 1 318 304\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:rgb(124,152,200)\"/><path d=\"M 312 318\nL 298 313\nM 298 313\nL 283 313\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:none\"/><text x=\"117\" y=\"318\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Sweden (10521556 ≅ 2.34%)</text><path d=\"M 500 385\nL 318 304\nA 200 200 8.40 0 1 331 279\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:rgb(180,200,157)\"/><path d=\"M 324 291\nL 311 284\nM 311 284\nL 296 284\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:none\"/><text x=\"127\" y=\"289\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Portugal (10467366 ≅ 2.33%)</text><path d=\"M 500 385\nL 331 279\nA 200 200 8.34 0 1 349 255\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:rgb(200,180,128)\"/><path d=\"M 340 267\nL 328 258\nM 328 258\nL 313 258\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:none\"/><text x=\"152\" y=\"263\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Greece (10394055 ≅ 2.31%)</text><path d=\"M 500 385\nL 349 255\nA 200 200 7.70 0 1 368 236\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:rgb(200,142,142)\"/><path d=\"M 358 245\nL 347 235\nM 347 235\nL 332 235\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:none\"/><text x=\"170\" y=\"240\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Hungary (9597085 ≅ 2.13%)</text><path d=\"M 500 385\nL 368 236\nA 200 200 7.31 0 1 388 220\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:rgb(155,180,200)\"/><path d=\"M 377 228\nL 368 216\nM 368 216\nL 353 216\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:none\"/><text x=\"199\" y=\"221\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Austria (9104772 ≅ 2.02%)</text><path d=\"M 500 385\nL 388 220\nA 200 200 5.18 0 1 403 211\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:rgb(99,200,154)\"/><path d=\"M 395 215\nL 387 200\nM 387 200\nL 372 200\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:none\"/><text x=\"211\" y=\"205\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Bulgaria (6447710 ≅ 1.43%)</text><path d=\"M 500 385\nL 403 211\nA 200 200 4.76 0 1 418 203\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:rgb(200,172,122)\"/><path d=\"M 410 207\nL 404 184\nM 404 184\nL 389 184\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:none\"/><text x=\"224\" y=\"189\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Denmark (5932654 ≅ 1.32%)</text><path d=\"M 500 385\nL 418 203\nA 200 200 4.47 0 1 432 197\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:rgb(180,136,200)\"/><path d=\"M 425 200\nL 419 168\nM 419 168\nL 404 168\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:none\"/><text x=\"249\" y=\"173\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Finland (5563970 ≅ 1.24%)</text><path d=\"M 500 385\nL 432 197\nA 200 200 4.36 0 1 447 193\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:rgb(200,164,180)\"/><path d=\"M 440 195\nL 435 152\nM 435 152\nL 420 152\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:none\"/><text x=\"258\" y=\"157\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Slovakia (5428792 ≅ 1.21%)</text><path d=\"M 500 385\nL 447 193\nA 200 200 4.17 0 1 461 189\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:rgb(164,180,200)\"/><path d=\"M 454 191\nL 450 136\nM 450 136\nL 435 136\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:none\"/><text x=\"282\" y=\"141\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Ireland (5194336 ≅ 1.15%)</text><path d=\"M 500 385\nL 461 189\nA 200 200 3.09 0 1 472 188\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,180);fill:rgb(180,200,180)\"/><path d=\"M 466 188\nL 464 120\nM 464 120\nL 449 120\" style=\"stroke-width:1;stroke:rgb(180,200,180);fill:none\"/><text x=\"294\" y=\"125\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Croatia (3850894 ≅ 0.85%)</text><path d=\"M 500 385\nL 472 188\nA 200 200 2.29 0 1 480 187\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,168);fill:rgb(200,180,168)\"/><path d=\"M 476 187\nL 474 104\nM 474 104\nL 459 104\" style=\"stroke-width:1;stroke:rgb(200,180,168);fill:none\"/><text x=\"293\" y=\"109\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Lithuania (2857279 ≅ 0.63%)</text><path d=\"M 500 385\nL 480 187\nA 200 200 1.70 0 1 485 186\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:rgb(200,180,180)\"/><path d=\"M 482 186\nL 481 88\nM 481 88\nL 466 88\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:none\"/><text x=\"304\" y=\"93\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Slovenia (2116792 ≅ 0.47%)</text><path d=\"M 500 385\nL 485 186\nA 200 200 1.51 0 1 491 186\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(180,180,200);fill:rgb(180,180,200)\"/><path d=\"M 488 186\nL 487 72\nM 487 72\nL 472 72\" style=\"stroke-width:1;stroke:rgb(180,180,200);fill:none\"/><text x=\"324\" y=\"77\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Latvia (1883008 ≅ 0.41%)</text><path d=\"M 500 385\nL 491 186\nA 200 200 1.10 0 1 495 186\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(139,200,180);fill:rgb(139,200,180)\"/><path d=\"M 493 186\nL 492 56\nM 492 56\nL 477 56\" style=\"stroke-width:1;stroke:rgb(139,200,180);fill:none\"/><text x=\"328\" y=\"61\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Estonia (1373101 ≅ 0.3%)</text><path d=\"M 500 385\nL 495 186\nA 200 200 0.74 0 1 497 186\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,162);fill:rgb(200,180,162)\"/><path d=\"M 496 186\nL 495 40\nM 495 40\nL 480 40\" style=\"stroke-width:1;stroke:rgb(200,180,162);fill:none\"/><text x=\"341\" y=\"45\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Cyprus (920701 ≅ 0.2%)</text><path d=\"M 500 385\nL 497 186\nA 200 200 0.53 0 1 499 186\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(180,176,200);fill:rgb(180,176,200)\"/><path d=\"M 498 186\nL 498 24\nM 498 24\nL 483 24\" style=\"stroke-width:1;stroke:rgb(180,176,200);fill:none\"/><text x=\"305\" y=\"29\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Luxembourg (660809 ≅ 0.14%)</text><path d=\"M 500 385\nL 499 186\nA 200 200 0.44 0 1 500 185\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:rgb(200,180,180)\"/><path d=\"M 500 186\nL 500 8\nM 500 8\nL 485 8\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:none\"/><text x=\"346\" y=\"13\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Malta (542051 ≅ 0.12%)</text></svg>",
},
{
name: "lots_labels-unsorted",
width: 1000,
height: 800,
defaultTheme: true,
makeOptions: func() PieChartOption {
values := []float64{
9104772, 11754004, 6447710, 3850894, 920701, 10827529, 5932654, 1373101,
5563970, 68070697, 84358845, 10394055, 9597085, 5194336, 58850717, 1883008,
2857279, 660809, 542051, 17947406, 36753736, 10467366, 19051562, 5428792,
2116792, 48059777, 10521556,
}
return PieChartOption{
SeriesList: NewSeriesListPie(values, PieSeriesOption{
Label: SeriesLabel{
Show: True(),
Formatter: "{b} ({c} ≅ {d})",
},
Radius: "200",
}),
Padding: NewBoxEqual(20),
Legend: LegendOption{
Data: []string{
"Austria",
"Belgium",
"Bulgaria",
"Croatia",
"Cyprus",
"Czech Republic",
"Denmark",
"Estonia",
"Finland",
"France",
"Germany",
"Greece",
"Hungary",
"Ireland",
"Italy",
"Latvia",
"Lithuania",
"Luxembourg",
"Malta",
"Netherlands",
"Poland",
"Portugal",
"Romania",
"Slovakia",
"Slovenia",
"Spain",
"Sweden",
},
Show: False(),
},
}
},
result: "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1000 800\"><path d=\"M 20 20\nL 980 20\nL 980 780\nL 20 780\nL 20 20\" style=\"stroke:none;fill:white\"/><path d=\"M 500 385\nL 640 244\nA 200 200 54.63 0 1 697 417\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:rgb(124,152,200)\"/><path d=\"M 690 324\nL 704 319\nM 704 319\nL 719 319\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:none\"/><text x=\"722\" y=\"324\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">France (68070697 ≅ 15.17%)</text><path d=\"M 500 385\nL 629 233\nA 200 200 4.47 0 1 640 244\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(234,124,204);fill:rgb(234,124,204)\"/><path d=\"M 635 238\nL 645 227\nM 645 227\nL 660 227\" style=\"stroke-width:1;stroke:rgb(234,124,204);fill:none\"/><text x=\"663\" y=\"232\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Finland (5563970 ≅ 1.24%)</text><path d=\"M 500 385\nL 626 231\nA 200 200 1.10 0 1 629 233\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:rgb(154,96,180)\"/><path d=\"M 627 232\nL 637 211\nM 637 211\nL 652 211\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:none\"/><text x=\"655\" y=\"216\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Estonia (1373101 ≅ 0.3%)</text><path d=\"M 500 385\nL 613 221\nA 200 200 4.76 0 1 626 231\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(252,132,82);fill:rgb(252,132,82)\"/><path d=\"M 619 225\nL 628 195\nM 628 195\nL 643 195\" style=\"stroke-width:1;stroke:rgb(252,132,82);fill:none\"/><text x=\"646\" y=\"200\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Denmark (5932654 ≅ 1.32%)</text><path d=\"M 500 385\nL 586 205\nA 200 200 8.69 0 1 613 221\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:rgb(59,162,114)\"/><path d=\"M 600 212\nL 607 179\nM 607 179\nL 622 179\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:none\"/><text x=\"625\" y=\"184\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Czech Republic (10827529 ≅ 2.41%)</text><path d=\"M 500 385\nL 584 204\nA 200 200 0.74 0 1 586 205\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:rgb(115,192,222)\"/><path d=\"M 585 205\nL 592 163\nM 592 163\nL 607 163\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:none\"/><text x=\"610\" y=\"168\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Cyprus (920701 ≅ 0.2%)</text><path d=\"M 500 385\nL 574 200\nA 200 200 3.09 0 1 584 204\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:rgb(238,102,102)\"/><path d=\"M 579 202\nL 585 147\nM 585 147\nL 600 147\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:none\"/><text x=\"603\" y=\"152\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Croatia (3850894 ≅ 0.85%)</text><path d=\"M 500 385\nL 557 194\nA 200 200 5.18 0 1 574 200\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:rgb(250,200,88)\"/><path d=\"M 566 197\nL 571 131\nM 571 131\nL 586 131\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:none\"/><text x=\"589\" y=\"136\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Bulgaria (6447710 ≅ 1.43%)</text><path d=\"M 500 385\nL 525 187\nA 200 200 9.43 0 1 557 194\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:rgb(145,204,117)\"/><path d=\"M 541 190\nL 544 115\nM 544 115\nL 559 115\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:none\"/><text x=\"562\" y=\"120\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Belgium (11754004 ≅ 2.62%)</text><path d=\"M 500 385\nL 500 185\nA 200 200 7.31 0 1 525 187\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><path d=\"M 512 186\nL 513 99\nM 513 99\nL 528 99\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:none\"/><text x=\"531\" y=\"104\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Austria (9104772 ≅ 2.02%)</text><path d=\"M 500 385\nL 697 417\nA 200 200 67.71 0 1 544 579\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:rgb(180,200,157)\"/><path d=\"M 645 522\nL 656 532\nM 656 532\nL 671 532\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:none\"/><text x=\"674\" y=\"537\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Germany (84358845 ≅ 18.8%)</text><path d=\"M 500 385\nL 544 579\nA 200 200 8.34 0 1 515 584\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:rgb(200,180,128)\"/><path d=\"M 530 582\nL 532 597\nM 532 597\nL 547 597\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:none\"/><text x=\"550\" y=\"602\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Greece (10394055 ≅ 2.31%)</text><path d=\"M 500 385\nL 515 584\nA 200 200 7.70 0 1 489 584\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:rgb(200,142,142)\"/><path d=\"M 502 584\nL 502 613\nM 502 613\nL 517 613\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:none\"/><text x=\"520\" y=\"618\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Hungary (9597085 ≅ 2.13%)</text><path d=\"M 500 385\nL 309 441\nA 200 200 29.50 0 1 306 340\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,168);fill:rgb(200,180,168)\"/><path d=\"M 301 390\nL 286 390\nM 286 390\nL 271 390\" style=\"stroke-width:1;stroke:rgb(200,180,168);fill:none\"/><text x=\"110\" y=\"395\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Poland (36753736 ≅ 8.19%)</text><path d=\"M 500 385\nL 328 487\nA 200 200 14.40 0 1 309 441\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,180);fill:rgb(180,200,180)\"/><path d=\"M 317 464\nL 303 470\nM 303 470\nL 288 470\" style=\"stroke-width:1;stroke:rgb(180,200,180);fill:none\"/><text x=\"116\" y=\"475\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Netherlands (17947406 ≅ 4%)</text><path d=\"M 500 385\nL 329 488\nA 200 200 0.44 0 1 328 487\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:rgb(164,180,200)\"/><path d=\"M 329 487\nL 316 495\nM 316 495\nL 301 495\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:none\"/><text x=\"162\" y=\"500\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Malta (542051 ≅ 0.12%)</text><path d=\"M 500 385\nL 330 489\nA 200 200 0.53 0 1 329 488\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:rgb(200,164,180)\"/><path d=\"M 330 489\nL 317 511\nM 317 511\nL 302 511\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:none\"/><text x=\"124\" y=\"516\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Luxembourg (660809 ≅ 0.14%)</text><path d=\"M 500 385\nL 335 496\nA 200 200 2.29 0 1 330 489\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:rgb(180,136,200)\"/><path d=\"M 332 493\nL 320 527\nM 320 527\nL 305 527\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:none\"/><text x=\"139\" y=\"532\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Lithuania (2857279 ≅ 0.63%)</text><path d=\"M 500 385\nL 338 500\nA 200 200 1.51 0 1 335 496\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:rgb(200,172,122)\"/><path d=\"M 336 498\nL 324 543\nM 324 543\nL 309 543\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:none\"/><text x=\"161\" y=\"548\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Latvia (1883008 ≅ 0.41%)</text><path d=\"M 500 385\nL 475 583\nA 200 200 47.23 0 1 338 500\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:rgb(99,200,154)\"/><path d=\"M 398 556\nL 390 569\nM 390 569\nL 375 569\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:none\"/><text x=\"223\" y=\"574\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Italy (58850717 ≅ 13.12%)</text><path d=\"M 500 385\nL 489 584\nA 200 200 4.17 0 1 475 583\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:rgb(155,180,200)\"/><path d=\"M 482 584\nL 481 599\nM 481 599\nL 466 599\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:none\"/><text x=\"313\" y=\"604\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Ireland (5194336 ≅ 1.15%)</text><path d=\"M 500 385\nL 306 340\nA 200 200 8.40 0 1 315 312\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:rgb(200,180,180)\"/><path d=\"M 310 326\nL 295 321\nM 295 321\nL 280 321\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:none\"/><text x=\"111\" y=\"326\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Portugal (10467366 ≅ 2.33%)</text><path d=\"M 500 385\nL 315 312\nA 200 200 15.29 0 1 341 265\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(180,180,200);fill:rgb(180,180,200)\"/><path d=\"M 326 288\nL 313 280\nM 313 280\nL 298 280\" style=\"stroke-width:1;stroke:rgb(180,180,200);fill:none\"/><text x=\"127\" y=\"285\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Romania (19051562 ≅ 4.24%)</text><path d=\"M 500 385\nL 341 265\nA 200 200 4.36 0 1 350 254\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(139,200,180);fill:rgb(139,200,180)\"/><path d=\"M 345 259\nL 334 250\nM 334 250\nL 319 250\" style=\"stroke-width:1;stroke:rgb(139,200,180);fill:none\"/><text x=\"157\" y=\"255\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Slovakia (5428792 ≅ 1.21%)</text><path d=\"M 500 385\nL 350 254\nA 200 200 1.70 0 1 354 249\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,162);fill:rgb(200,180,162)\"/><path d=\"M 352 251\nL 341 234\nM 341 234\nL 326 234\" style=\"stroke-width:1;stroke:rgb(200,180,162);fill:none\"/><text x=\"164\" y=\"239\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Slovenia (2116792 ≅ 0.47%)</text><path d=\"M 500 385\nL 354 249\nA 200 200 38.57 0 1 471 188\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(180,176,200);fill:rgb(180,176,200)\"/><path d=\"M 407 208\nL 400 195\nM 400 195\nL 385 195\" style=\"stroke-width:1;stroke:rgb(180,176,200);fill:none\"/><text x=\"225\" y=\"200\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Spain (48059777 ≅ 10.71%)</text><path d=\"M 500 385\nL 471 188\nA 200 200 8.44 0 1 500 185\nL 500 385\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:rgb(200,180,180)\"/><path d=\"M 486 186\nL 485 171\nM 485 171\nL 470 171\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:none\"/><text x=\"304\" y=\"176\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Sweden (10521556 ≅ 2.34%)</text></svg>",
},
{
name: "100labels-sorted",
width: 1000,
height: 900,
defaultTheme: true,
makeOptions: func() PieChartOption {
var values []float64
var labels []string
for i := 1; i <= 100; i++ {
values = append(values, float64(1))
labels = append(labels, "Label "+strconv.Itoa(i))
}
return PieChartOption{
SeriesList: NewSeriesListPie(values, PieSeriesOption{
Radius: "200",
}),
Padding: NewBoxEqual(20),
Legend: LegendOption{
Data: labels,
Show: False(),
},
}
},
result: "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1000 900\"><path d=\"M 20 20\nL 980 20\nL 980 880\nL 20 880\nL 20 20\" style=\"stroke:none;fill:white\"/><path d=\"M 500 435\nL 699 423\nA 200 200 3.60 0 1 700 435\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,162);fill:rgb(200,180,162)\"/><path d=\"M 699 429\nL 714 429\nM 714 429\nL 729 429\" style=\"stroke-width:1;stroke:rgb(200,180,162);fill:none\"/><text x=\"732\" y=\"434\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 25: 1%</text><path d=\"M 500 435\nL 698 410\nA 200 200 3.60 0 1 699 423\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(139,200,180);fill:rgb(139,200,180)\"/><path d=\"M 699 417\nL 714 413\nM 714 413\nL 729 413\" style=\"stroke-width:1;stroke:rgb(139,200,180);fill:none\"/><text x=\"732\" y=\"418\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 24: 1%</text><path d=\"M 500 435\nL 696 398\nA 200 200 3.60 0 1 698 410\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,180,200);fill:rgb(180,180,200)\"/><path d=\"M 697 404\nL 712 397\nM 712 397\nL 727 397\" style=\"stroke-width:1;stroke:rgb(180,180,200);fill:none\"/><text x=\"730\" y=\"402\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 23: 1%</text><path d=\"M 500 435\nL 693 386\nA 200 200 3.60 0 1 696 398\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:rgb(200,180,180)\"/><path d=\"M 695 392\nL 709 381\nM 709 381\nL 724 381\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:none\"/><text x=\"727\" y=\"386\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 22: 1%</text><path d=\"M 500 435\nL 690 374\nA 200 200 3.60 0 1 693 386\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,168);fill:rgb(200,180,168)\"/><path d=\"M 692 380\nL 706 365\nM 706 365\nL 721 365\" style=\"stroke-width:1;stroke:rgb(200,180,168);fill:none\"/><text x=\"724\" y=\"370\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 21: 1%</text><path d=\"M 500 435\nL 685 362\nA 200 200 3.60 0 1 690 374\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,180);fill:rgb(180,200,180)\"/><path d=\"M 688 368\nL 702 349\nM 702 349\nL 717 349\" style=\"stroke-width:1;stroke:rgb(180,200,180);fill:none\"/><text x=\"720\" y=\"354\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 20: 1%</text><path d=\"M 500 435\nL 680 350\nA 200 200 3.60 0 1 685 362\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:rgb(164,180,200)\"/><path d=\"M 683 356\nL 697 333\nM 697 333\nL 712 333\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:none\"/><text x=\"715\" y=\"338\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 19: 1%</text><path d=\"M 500 435\nL 675 339\nA 200 200 3.60 0 1 680 350\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:rgb(200,164,180)\"/><path d=\"M 678 345\nL 691 317\nM 691 317\nL 706 317\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:none\"/><text x=\"709\" y=\"322\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 18: 1%</text><path d=\"M 500 435\nL 668 328\nA 200 200 3.60 0 1 675 339\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:rgb(180,136,200)\"/><path d=\"M 672 334\nL 685 301\nM 685 301\nL 700 301\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:none\"/><text x=\"703\" y=\"306\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 17: 1%</text><path d=\"M 500 435\nL 661 318\nA 200 200 3.60 0 1 668 328\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:rgb(200,172,122)\"/><path d=\"M 665 323\nL 677 285\nM 677 285\nL 692 285\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:none\"/><text x=\"695\" y=\"290\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 16: 1%</text><path d=\"M 500 435\nL 654 308\nA 200 200 3.60 0 1 661 318\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:rgb(99,200,154)\"/><path d=\"M 658 313\nL 669 269\nM 669 269\nL 684 269\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:none\"/><text x=\"687\" y=\"274\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 15: 1%</text><path d=\"M 500 435\nL 645 299\nA 200 200 3.60 0 1 654 308\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:rgb(155,180,200)\"/><path d=\"M 650 303\nL 661 253\nM 661 253\nL 676 253\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:none\"/><text x=\"679\" y=\"258\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 14: 1%</text><path d=\"M 500 435\nL 636 290\nA 200 200 3.60 0 1 645 299\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:rgb(200,142,142)\"/><path d=\"M 641 294\nL 652 237\nM 652 237\nL 667 237\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:none\"/><text x=\"670\" y=\"242\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 13: 1%</text><path d=\"M 500 435\nL 627 281\nA 200 200 3.60 0 1 636 290\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:rgb(200,180,128)\"/><path d=\"M 632 285\nL 642 221\nM 642 221\nL 657 221\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:none\"/><text x=\"660\" y=\"226\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 12: 1%</text><path d=\"M 500 435\nL 617 274\nA 200 200 3.60 0 1 627 281\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:rgb(180,200,157)\"/><path d=\"M 622 277\nL 631 205\nM 631 205\nL 646 205\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:none\"/><text x=\"649\" y=\"210\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 11: 1%</text><path d=\"M 500 435\nL 607 267\nA 200 200 3.60 0 1 617 274\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:rgb(124,152,200)\"/><path d=\"M 612 270\nL 620 189\nM 620 189\nL 635 189\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:none\"/><text x=\"638\" y=\"194\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 10: 1%</text><path d=\"M 500 435\nL 596 260\nA 200 200 3.60 0 1 607 267\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(234,124,204);fill:rgb(234,124,204)\"/><path d=\"M 601 263\nL 609 173\nM 609 173\nL 624 173\" style=\"stroke-width:1;stroke:rgb(234,124,204);fill:none\"/><text x=\"627\" y=\"178\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 9: 1%</text><path d=\"M 500 435\nL 585 255\nA 200 200 3.60 0 1 596 260\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:rgb(154,96,180)\"/><path d=\"M 590 257\nL 597 157\nM 597 157\nL 612 157\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:none\"/><text x=\"615\" y=\"162\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 8: 1%</text><path d=\"M 500 435\nL 573 250\nA 200 200 3.60 0 1 585 255\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(252,132,82);fill:rgb(252,132,82)\"/><path d=\"M 579 252\nL 585 141\nM 585 141\nL 600 141\" style=\"stroke-width:1;stroke:rgb(252,132,82);fill:none\"/><text x=\"603\" y=\"146\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 7: 1%</text><path d=\"M 500 435\nL 561 245\nA 200 200 3.60 0 1 573 250\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:rgb(59,162,114)\"/><path d=\"M 567 247\nL 572 125\nM 572 125\nL 587 125\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:none\"/><text x=\"590\" y=\"130\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 6: 1%</text><path d=\"M 500 435\nL 549 242\nA 200 200 3.60 0 1 561 245\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:rgb(115,192,222)\"/><path d=\"M 555 243\nL 559 109\nM 559 109\nL 574 109\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:none\"/><text x=\"577\" y=\"114\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 5: 1%</text><path d=\"M 500 435\nL 537 239\nA 200 200 3.60 0 1 549 242\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:rgb(238,102,102)\"/><path d=\"M 543 240\nL 546 93\nM 546 93\nL 561 93\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:none\"/><text x=\"564\" y=\"98\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 4: 1%</text><path d=\"M 500 435\nL 525 237\nA 200 200 3.60 0 1 537 239\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:rgb(250,200,88)\"/><path d=\"M 531 238\nL 533 77\nM 533 77\nL 548 77\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:none\"/><text x=\"551\" y=\"82\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 3: 1%</text><path d=\"M 500 435\nL 512 236\nA 200 200 3.60 0 1 525 237\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:rgb(145,204,117)\"/><path d=\"M 518 236\nL 520 61\nM 520 61\nL 535 61\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:none\"/><text x=\"538\" y=\"66\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 2: 1%</text><path d=\"M 500 435\nL 500 235\nA 200 200 3.60 0 1 512 236\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><path d=\"M 506 236\nL 506 45\nM 506 45\nL 521 45\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:none\"/><text x=\"524\" y=\"50\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 1: 1%</text><path d=\"M 500 435\nL 700 435\nA 200 200 3.60 0 1 699 447\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,176,200);fill:rgb(180,176,200)\"/><path d=\"M 699 441\nL 714 445\nM 714 445\nL 729 445\" style=\"stroke-width:1;stroke:rgb(180,176,200);fill:none\"/><text x=\"732\" y=\"450\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 26: 1%</text><path d=\"M 500 435\nL 699 447\nA 200 200 3.60 0 1 698 460\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:rgb(200,180,180)\"/><path d=\"M 699 453\nL 714 461\nM 714 461\nL 729 461\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:none\"/><text x=\"732\" y=\"466\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 27: 1%</text><path d=\"M 500 435\nL 698 460\nA 200 200 3.60 0 1 696 472\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><path d=\"M 697 466\nL 712 477\nM 712 477\nL 727 477\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:none\"/><text x=\"730\" y=\"482\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 28: 1%</text><path d=\"M 500 435\nL 696 472\nA 200 200 3.60 0 1 693 484\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(145,200,117);fill:rgb(145,200,117)\"/><path d=\"M 695 478\nL 709 493\nM 709 493\nL 724 493\" style=\"stroke-width:1;stroke:rgb(145,200,117);fill:none\"/><text x=\"727\" y=\"498\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 29: 1%</text><path d=\"M 500 435\nL 693 484\nA 200 200 3.60 0 1 690 496\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,88);fill:rgb(200,180,88)\"/><path d=\"M 692 490\nL 706 509\nM 706 509\nL 721 509\" style=\"stroke-width:1;stroke:rgb(200,180,88);fill:none\"/><text x=\"724\" y=\"514\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 30: 1%</text><path d=\"M 500 435\nL 690 496\nA 200 200 3.60 0 1 685 508\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,102,102);fill:rgb(200,102,102)\"/><path d=\"M 688 502\nL 702 525\nM 702 525\nL 717 525\" style=\"stroke-width:1;stroke:rgb(200,102,102);fill:none\"/><text x=\"720\" y=\"530\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 31: 1%</text><path d=\"M 500 435\nL 685 508\nA 200 200 3.60 0 1 680 520\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(115,180,200);fill:rgb(115,180,200)\"/><path d=\"M 683 514\nL 697 541\nM 697 541\nL 712 541\" style=\"stroke-width:1;stroke:rgb(115,180,200);fill:none\"/><text x=\"715\" y=\"546\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 32: 1%</text><path d=\"M 500 435\nL 680 520\nA 200 200 3.60 0 1 675 531\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:rgb(59,162,114)\"/><path d=\"M 678 525\nL 691 557\nM 691 557\nL 706 557\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:none\"/><text x=\"709\" y=\"562\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 33: 1%</text><path d=\"M 500 435\nL 675 531\nA 200 200 3.60 0 1 668 542\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,132,82);fill:rgb(200,132,82)\"/><path d=\"M 672 536\nL 685 573\nM 685 573\nL 700 573\" style=\"stroke-width:1;stroke:rgb(200,132,82);fill:none\"/><text x=\"703\" y=\"578\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 34: 1%</text><path d=\"M 500 435\nL 668 542\nA 200 200 3.60 0 1 661 552\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:rgb(154,96,180)\"/><path d=\"M 665 547\nL 677 589\nM 677 589\nL 692 589\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:none\"/><text x=\"695\" y=\"594\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 35: 1%</text><path d=\"M 500 435\nL 661 552\nA 200 200 3.60 0 1 654 562\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,124,180);fill:rgb(200,124,180)\"/><path d=\"M 658 557\nL 669 605\nM 669 605\nL 684 605\" style=\"stroke-width:1;stroke:rgb(200,124,180);fill:none\"/><text x=\"687\" y=\"610\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 36: 1%</text><path d=\"M 500 435\nL 654 562\nA 200 200 3.60 0 1 645 571\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:rgb(124,152,200)\"/><path d=\"M 650 567\nL 661 621\nM 661 621\nL 676 621\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:none\"/><text x=\"679\" y=\"626\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 37: 1%</text><path d=\"M 500 435\nL 645 571\nA 200 200 3.60 0 1 636 580\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:rgb(180,200,157)\"/><path d=\"M 641 576\nL 652 637\nM 652 637\nL 667 637\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:none\"/><text x=\"670\" y=\"642\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 38: 1%</text><path d=\"M 500 435\nL 636 580\nA 200 200 3.60 0 1 627 589\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:rgb(200,180,128)\"/><path d=\"M 632 585\nL 642 653\nM 642 653\nL 657 653\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:none\"/><text x=\"660\" y=\"658\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 39: 1%</text><path d=\"M 500 435\nL 627 589\nA 200 200 3.60 0 1 617 596\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:rgb(200,142,142)\"/><path d=\"M 622 593\nL 631 669\nM 631 669\nL 646 669\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:none\"/><text x=\"649\" y=\"674\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 40: 1%</text><path d=\"M 500 435\nL 617 596\nA 200 200 3.60 0 1 607 603\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:rgb(155,180,200)\"/><path d=\"M 612 600\nL 620 685\nM 620 685\nL 635 685\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:none\"/><text x=\"638\" y=\"690\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 41: 1%</text><path d=\"M 500 435\nL 607 603\nA 200 200 3.60 0 1 596 610\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:rgb(99,200,154)\"/><path d=\"M 601 607\nL 609 701\nM 609 701\nL 624 701\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:none\"/><text x=\"627\" y=\"706\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 42: 1%</text><path d=\"M 500 435\nL 596 610\nA 200 200 3.60 0 1 585 615\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:rgb(200,172,122)\"/><path d=\"M 590 613\nL 597 717\nM 597 717\nL 612 717\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:none\"/><text x=\"615\" y=\"722\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 43: 1%</text><path d=\"M 500 435\nL 585 615\nA 200 200 3.60 0 1 573 620\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:rgb(180,136,200)\"/><path d=\"M 579 618\nL 585 733\nM 585 733\nL 600 733\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:none\"/><text x=\"603\" y=\"738\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 44: 1%</text><path d=\"M 500 435\nL 573 620\nA 200 200 3.60 0 1 561 625\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:rgb(200,164,180)\"/><path d=\"M 567 623\nL 572 749\nM 572 749\nL 587 749\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:none\"/><text x=\"590\" y=\"754\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 45: 1%</text><path d=\"M 500 435\nL 561 625\nA 200 200 3.60 0 1 549 628\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:rgb(164,180,200)\"/><path d=\"M 555 627\nL 559 765\nM 559 765\nL 574 765\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:none\"/><text x=\"577\" y=\"770\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 46: 1%</text><path d=\"M 500 435\nL 549 628\nA 200 200 3.60 0 1 537 631\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,180);fill:rgb(180,200,180)\"/><path d=\"M 543 630\nL 546 781\nM 546 781\nL 561 781\" style=\"stroke-width:1;stroke:rgb(180,200,180);fill:none\"/><text x=\"564\" y=\"786\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 47: 1%</text><path d=\"M 500 435\nL 537 631\nA 200 200 3.60 0 1 525 633\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,168);fill:rgb(200,180,168)\"/><path d=\"M 531 632\nL 533 797\nM 533 797\nL 548 797\" style=\"stroke-width:1;stroke:rgb(200,180,168);fill:none\"/><text x=\"551\" y=\"802\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 48: 1%</text><path d=\"M 500 435\nL 525 633\nA 200 200 3.60 0 1 512 634\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:rgb(200,180,180)\"/><path d=\"M 518 634\nL 520 813\nM 520 813\nL 535 813\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:none\"/><text x=\"538\" y=\"818\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 49: 1%</text><path d=\"M 500 435\nL 512 634\nA 200 200 3.60 0 1 500 635\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,180,200);fill:rgb(180,180,200)\"/><path d=\"M 506 634\nL 506 829\nM 506 829\nL 521 829\" style=\"stroke-width:1;stroke:rgb(180,180,200);fill:none\"/><text x=\"524\" y=\"834\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 50: 1%</text><path d=\"M 500 435\nL 301 447\nA 200 200 3.60 0 1 300 435\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,168);fill:rgb(200,180,168)\"/><path d=\"M 301 441\nL 286 441\nM 286 441\nL 271 441\" style=\"stroke-width:1;stroke:rgb(200,180,168);fill:none\"/><text x=\"195\" y=\"446\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 75: 1%</text><path d=\"M 500 435\nL 302 460\nA 200 200 3.60 0 1 301 447\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,180);fill:rgb(180,200,180)\"/><path d=\"M 301 453\nL 286 457\nM 286 457\nL 271 457\" style=\"stroke-width:1;stroke:rgb(180,200,180);fill:none\"/><text x=\"195\" y=\"462\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 74: 1%</text><path d=\"M 500 435\nL 304 472\nA 200 200 3.60 0 1 302 460\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:rgb(164,180,200)\"/><path d=\"M 303 466\nL 288 473\nM 288 473\nL 273 473\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:none\"/><text x=\"197\" y=\"478\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 73: 1%</text><path d=\"M 500 435\nL 307 484\nA 200 200 3.60 0 1 304 472\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:rgb(200,164,180)\"/><path d=\"M 305 478\nL 291 489\nM 291 489\nL 276 489\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:none\"/><text x=\"200\" y=\"494\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 72: 1%</text><path d=\"M 500 435\nL 310 496\nA 200 200 3.60 0 1 307 484\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:rgb(180,136,200)\"/><path d=\"M 308 490\nL 294 505\nM 294 505\nL 279 505\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:none\"/><text x=\"203\" y=\"510\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 71: 1%</text><path d=\"M 500 435\nL 315 508\nA 200 200 3.60 0 1 310 496\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:rgb(200,172,122)\"/><path d=\"M 312 502\nL 298 521\nM 298 521\nL 283 521\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:none\"/><text x=\"207\" y=\"526\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 70: 1%</text><path d=\"M 500 435\nL 320 520\nA 200 200 3.60 0 1 315 508\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:rgb(99,200,154)\"/><path d=\"M 317 514\nL 303 537\nM 303 537\nL 288 537\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:none\"/><text x=\"212\" y=\"542\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 69: 1%</text><path d=\"M 500 435\nL 325 531\nA 200 200 3.60 0 1 320 520\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:rgb(155,180,200)\"/><path d=\"M 322 525\nL 309 553\nM 309 553\nL 294 553\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:none\"/><text x=\"218\" y=\"558\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 68: 1%</text><path d=\"M 500 435\nL 332 542\nA 200 200 3.60 0 1 325 531\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:rgb(200,142,142)\"/><path d=\"M 328 536\nL 315 569\nM 315 569\nL 300 569\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:none\"/><text x=\"224\" y=\"574\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 67: 1%</text><path d=\"M 500 435\nL 339 552\nA 200 200 3.60 0 1 332 542\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:rgb(200,180,128)\"/><path d=\"M 335 547\nL 323 585\nM 323 585\nL 308 585\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:none\"/><text x=\"232\" y=\"590\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 66: 1%</text><path d=\"M 500 435\nL 346 562\nA 200 200 3.60 0 1 339 552\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:rgb(180,200,157)\"/><path d=\"M 342 557\nL 331 601\nM 331 601\nL 316 601\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:none\"/><text x=\"240\" y=\"606\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 65: 1%</text><path d=\"M 500 435\nL 355 571\nA 200 200 3.60 0 1 346 562\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:rgb(124,152,200)\"/><path d=\"M 350 567\nL 339 617\nM 339 617\nL 324 617\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:none\"/><text x=\"248\" y=\"622\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 64: 1%</text><path d=\"M 500 435\nL 364 580\nA 200 200 3.60 0 1 355 571\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,124,180);fill:rgb(200,124,180)\"/><path d=\"M 359 576\nL 348 633\nM 348 633\nL 333 633\" style=\"stroke-width:1;stroke:rgb(200,124,180);fill:none\"/><text x=\"257\" y=\"638\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 63: 1%</text><path d=\"M 500 435\nL 373 589\nA 200 200 3.60 0 1 364 580\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:rgb(154,96,180)\"/><path d=\"M 368 585\nL 358 649\nM 358 649\nL 343 649\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:none\"/><text x=\"267\" y=\"654\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 62: 1%</text><path d=\"M 500 435\nL 383 596\nA 200 200 3.60 0 1 373 589\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,132,82);fill:rgb(200,132,82)\"/><path d=\"M 378 593\nL 369 665\nM 369 665\nL 354 665\" style=\"stroke-width:1;stroke:rgb(200,132,82);fill:none\"/><text x=\"278\" y=\"670\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 61: 1%</text><path d=\"M 500 435\nL 393 603\nA 200 200 3.60 0 1 383 596\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:rgb(59,162,114)\"/><path d=\"M 388 600\nL 380 681\nM 380 681\nL 365 681\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:none\"/><text x=\"289\" y=\"686\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 60: 1%</text><path d=\"M 500 435\nL 404 610\nA 200 200 3.60 0 1 393 603\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(115,180,200);fill:rgb(115,180,200)\"/><path d=\"M 399 607\nL 391 697\nM 391 697\nL 376 697\" style=\"stroke-width:1;stroke:rgb(115,180,200);fill:none\"/><text x=\"300\" y=\"702\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 59: 1%</text><path d=\"M 500 435\nL 415 615\nA 200 200 3.60 0 1 404 610\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,102,102);fill:rgb(200,102,102)\"/><path d=\"M 410 613\nL 403 713\nM 403 713\nL 388 713\" style=\"stroke-width:1;stroke:rgb(200,102,102);fill:none\"/><text x=\"312\" y=\"718\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 58: 1%</text><path d=\"M 500 435\nL 427 620\nA 200 200 3.60 0 1 415 615\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,88);fill:rgb(200,180,88)\"/><path d=\"M 421 618\nL 415 729\nM 415 729\nL 400 729\" style=\"stroke-width:1;stroke:rgb(200,180,88);fill:none\"/><text x=\"324\" y=\"734\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 57: 1%</text><path d=\"M 500 435\nL 439 625\nA 200 200 3.60 0 1 427 620\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(145,200,117);fill:rgb(145,200,117)\"/><path d=\"M 433 623\nL 428 745\nM 428 745\nL 413 745\" style=\"stroke-width:1;stroke:rgb(145,200,117);fill:none\"/><text x=\"337\" y=\"750\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 56: 1%</text><path d=\"M 500 435\nL 451 628\nA 200 200 3.60 0 1 439 625\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><path d=\"M 445 627\nL 441 761\nM 441 761\nL 426 761\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:none\"/><text x=\"350\" y=\"766\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 55: 1%</text><path d=\"M 500 435\nL 463 631\nA 200 200 3.60 0 1 451 628\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:rgb(200,180,180)\"/><path d=\"M 457 630\nL 454 777\nM 454 777\nL 439 777\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:none\"/><text x=\"363\" y=\"782\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 54: 1%</text><path d=\"M 500 435\nL 475 633\nA 200 200 3.60 0 1 463 631\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,176,200);fill:rgb(180,176,200)\"/><path d=\"M 469 632\nL 467 793\nM 467 793\nL 452 793\" style=\"stroke-width:1;stroke:rgb(180,176,200);fill:none\"/><text x=\"376\" y=\"798\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 53: 1%</text><path d=\"M 500 435\nL 488 634\nA 200 200 3.60 0 1 475 633\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,162);fill:rgb(200,180,162)\"/><path d=\"M 482 634\nL 480 809\nM 480 809\nL 465 809\" style=\"stroke-width:1;stroke:rgb(200,180,162);fill:none\"/><text x=\"389\" y=\"814\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 52: 1%</text><path d=\"M 500 435\nL 500 635\nA 200 200 3.60 0 1 488 634\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(139,200,180);fill:rgb(139,200,180)\"/><path d=\"M 494 634\nL 494 825\nM 494 825\nL 479 825\" style=\"stroke-width:1;stroke:rgb(139,200,180);fill:none\"/><text x=\"403\" y=\"830\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 51: 1%</text><path d=\"M 500 435\nL 300 435\nA 200 200 3.60 0 1 301 423\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:rgb(200,180,180)\"/><path d=\"M 301 429\nL 286 425\nM 286 425\nL 271 425\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:none\"/><text x=\"195\" y=\"430\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 76: 1%</text><path d=\"M 500 435\nL 301 423\nA 200 200 3.60 0 1 302 410\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,180,200);fill:rgb(180,180,200)\"/><path d=\"M 301 417\nL 286 409\nM 286 409\nL 271 409\" style=\"stroke-width:1;stroke:rgb(180,180,200);fill:none\"/><text x=\"195\" y=\"414\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 77: 1%</text><path d=\"M 500 435\nL 302 410\nA 200 200 3.60 0 1 304 398\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(139,200,180);fill:rgb(139,200,180)\"/><path d=\"M 303 404\nL 288 393\nM 288 393\nL 273 393\" style=\"stroke-width:1;stroke:rgb(139,200,180);fill:none\"/><text x=\"197\" y=\"398\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 78: 1%</text><path d=\"M 500 435\nL 304 398\nA 200 200 3.60 0 1 307 386\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,162);fill:rgb(200,180,162)\"/><path d=\"M 305 392\nL 291 377\nM 291 377\nL 276 377\" style=\"stroke-width:1;stroke:rgb(200,180,162);fill:none\"/><text x=\"200\" y=\"382\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 79: 1%</text><path d=\"M 500 435\nL 307 386\nA 200 200 3.60 0 1 310 374\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,176,200);fill:rgb(180,176,200)\"/><path d=\"M 308 380\nL 294 361\nM 294 361\nL 279 361\" style=\"stroke-width:1;stroke:rgb(180,176,200);fill:none\"/><text x=\"203\" y=\"366\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 80: 1%</text><path d=\"M 500 435\nL 310 374\nA 200 200 3.60 0 1 315 362\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:rgb(200,180,180)\"/><path d=\"M 312 368\nL 298 345\nM 298 345\nL 283 345\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:none\"/><text x=\"207\" y=\"350\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 81: 1%</text><path d=\"M 500 435\nL 315 362\nA 200 200 3.60 0 1 320 350\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><path d=\"M 317 356\nL 303 329\nM 303 329\nL 288 329\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:none\"/><text x=\"212\" y=\"334\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 82: 1%</text><path d=\"M 500 435\nL 320 350\nA 200 200 3.60 0 1 325 339\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(145,200,117);fill:rgb(145,200,117)\"/><path d=\"M 322 345\nL 309 313\nM 309 313\nL 294 313\" style=\"stroke-width:1;stroke:rgb(145,200,117);fill:none\"/><text x=\"218\" y=\"318\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 83: 1%</text><path d=\"M 500 435\nL 325 339\nA 200 200 3.60 0 1 332 328\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,88);fill:rgb(200,180,88)\"/><path d=\"M 328 334\nL 315 297\nM 315 297\nL 300 297\" style=\"stroke-width:1;stroke:rgb(200,180,88);fill:none\"/><text x=\"224\" y=\"302\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 84: 1%</text><path d=\"M 500 435\nL 332 328\nA 200 200 3.60 0 1 339 318\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,102,102);fill:rgb(200,102,102)\"/><path d=\"M 335 323\nL 323 281\nM 323 281\nL 308 281\" style=\"stroke-width:1;stroke:rgb(200,102,102);fill:none\"/><text x=\"232\" y=\"286\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 85: 1%</text><path d=\"M 500 435\nL 339 318\nA 200 200 3.60 0 1 346 308\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(115,180,200);fill:rgb(115,180,200)\"/><path d=\"M 342 313\nL 331 265\nM 331 265\nL 316 265\" style=\"stroke-width:1;stroke:rgb(115,180,200);fill:none\"/><text x=\"240\" y=\"270\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 86: 1%</text><path d=\"M 500 435\nL 346 308\nA 200 200 3.60 0 1 355 299\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:rgb(59,162,114)\"/><path d=\"M 350 303\nL 339 249\nM 339 249\nL 324 249\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:none\"/><text x=\"248\" y=\"254\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 87: 1%</text><path d=\"M 500 435\nL 355 299\nA 200 200 3.60 0 1 364 290\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,132,82);fill:rgb(200,132,82)\"/><path d=\"M 359 294\nL 348 233\nM 348 233\nL 333 233\" style=\"stroke-width:1;stroke:rgb(200,132,82);fill:none\"/><text x=\"257\" y=\"238\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 88: 1%</text><path d=\"M 500 435\nL 364 290\nA 200 200 3.60 0 1 373 281\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:rgb(154,96,180)\"/><path d=\"M 368 285\nL 358 217\nM 358 217\nL 343 217\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:none\"/><text x=\"267\" y=\"222\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 89: 1%</text><path d=\"M 500 435\nL 373 281\nA 200 200 3.60 0 1 383 274\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,124,180);fill:rgb(200,124,180)\"/><path d=\"M 378 277\nL 369 201\nM 369 201\nL 354 201\" style=\"stroke-width:1;stroke:rgb(200,124,180);fill:none\"/><text x=\"278\" y=\"206\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 90: 1%</text><path d=\"M 500 435\nL 383 274\nA 200 200 3.60 0 1 393 267\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:rgb(124,152,200)\"/><path d=\"M 388 270\nL 380 185\nM 380 185\nL 365 185\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:none\"/><text x=\"289\" y=\"190\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 91: 1%</text><path d=\"M 500 435\nL 393 267\nA 200 200 3.60 0 1 404 260\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:rgb(180,200,157)\"/><path d=\"M 399 263\nL 391 169\nM 391 169\nL 376 169\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:none\"/><text x=\"300\" y=\"174\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 92: 1%</text><path d=\"M 500 435\nL 404 260\nA 200 200 3.60 0 1 415 255\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:rgb(200,180,128)\"/><path d=\"M 410 257\nL 403 153\nM 403 153\nL 388 153\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:none\"/><text x=\"312\" y=\"158\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 93: 1%</text><path d=\"M 500 435\nL 415 255\nA 200 200 3.60 0 1 427 250\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:rgb(200,142,142)\"/><path d=\"M 421 252\nL 415 137\nM 415 137\nL 400 137\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:none\"/><text x=\"324\" y=\"142\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 94: 1%</text><path d=\"M 500 435\nL 427 250\nA 200 200 3.60 0 1 439 245\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:rgb(155,180,200)\"/><path d=\"M 433 247\nL 428 121\nM 428 121\nL 413 121\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:none\"/><text x=\"337\" y=\"126\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 95: 1%</text><path d=\"M 500 435\nL 439 245\nA 200 200 3.60 0 1 451 242\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:rgb(99,200,154)\"/><path d=\"M 445 243\nL 441 105\nM 441 105\nL 426 105\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:none\"/><text x=\"350\" y=\"110\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 96: 1%</text><path d=\"M 500 435\nL 451 242\nA 200 200 3.60 0 1 463 239\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:rgb(200,172,122)\"/><path d=\"M 457 240\nL 454 89\nM 454 89\nL 439 89\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:none\"/><text x=\"363\" y=\"94\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 97: 1%</text><path d=\"M 500 435\nL 463 239\nA 200 200 3.60 0 1 475 237\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:rgb(180,136,200)\"/><path d=\"M 469 238\nL 467 73\nM 467 73\nL 452 73\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:none\"/><text x=\"376\" y=\"78\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 98: 1%</text><path d=\"M 500 435\nL 475 237\nA 200 200 3.60 0 1 488 236\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:rgb(200,164,180)\"/><path d=\"M 482 236\nL 480 57\nM 480 57\nL 465 57\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:none\"/><text x=\"389\" y=\"62\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 99: 1%</text><path d=\"M 500 435\nL 488 236\nA 200 200 3.60 0 1 500 235\nL 500 435\nZ\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:rgb(164,180,200)\"/><path d=\"M 494 236\nL 494 41\nM 494 41\nL 479 41\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:none\"/><text x=\"396\" y=\"46\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Label 100: 1%</text></svg>",
},
{
name: "fix_label_pos",
width: 1150,
height: 550,
defaultTheme: true,
makeOptions: func() PieChartOption {
values := []float64{
397594, 185596, 149086, 144258, 120194, 117514, 99412, 91135,
87282, 76790, 72586, 58818, 58270, 56306, 55486, 54792,
53746, 51460, 41242, 39476, 37414, 36644, 33784, 32788,
32566, 29608, 29558, 29384, 28166, 26998, 26948, 26054,
25804, 25730, 24438, 23782, 22896, 21404, 428978,
}
return PieChartOption{
SeriesList: NewSeriesListPie(values, PieSeriesOption{
Label: SeriesLabel{
Show: True(),
Formatter: "{b} ({c} ≅ {d})",
},
Radius: "150",
}),
Title: TitleOption{
Text: "Fix label K (72586)",
Offset: OffsetRight,
},
Padding: NewBoxEqual(20),
Legend: LegendOption{
Data: []string{
"A", "B", "C", "D", "E", "F", "G", "H",
"I", "J", "K", "L", "M", "N", "O", "P",
"Q", "R", "S", "T", "U", "V", "W", "X",
"Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF",
"AG", "AH", "AI", "AJ", "AK", "AL", "AM",
},
Show: False(),
},
}
},
result: "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 1150 550\"><path d=\"M 20 20\nL 1130 20\nL 1130 530\nL 20 530\nL 20 20\" style=\"stroke:none;fill:white\"/><text x=\"981\" y=\"55\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Fix label K (72586)</text><path d=\"M 575 275\nL 716 227\nA 150 150 18.17 0 1 724 274\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:rgb(250,200,88)\"/><path d=\"M 722 250\nL 737 247\nM 737 247\nL 752 247\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:none\"/><text x=\"755\" y=\"252\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">C (149086 ≅ 5.04%)</text><path d=\"M 575 275\nL 687 176\nA 150 150 22.62 0 1 716 227\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:rgb(145,204,117)\"/><path d=\"M 704 200\nL 717 192\nM 717 192\nL 732 192\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:none\"/><text x=\"735\" y=\"197\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">B (185596 ≅ 6.28%)</text><path d=\"M 575 275\nL 575 125\nA 150 150 48.45 0 1 687 176\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><path d=\"M 636 139\nL 642 125\nM 642 125\nL 657 125\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:none\"/><text x=\"660\" y=\"130\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">A (397594 ≅ 13.45%)</text><path d=\"M 575 275\nL 724 274\nA 150 150 17.58 0 1 718 318\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:rgb(238,102,102)\"/><path d=\"M 723 295\nL 738 298\nM 738 298\nL 753 298\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:none\"/><text x=\"756\" y=\"303\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">D (144258 ≅ 4.88%)</text><path d=\"M 575 275\nL 718 318\nA 150 150 14.65 0 1 702 353\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:rgb(115,192,222)\"/><path d=\"M 711 336\nL 725 342\nM 725 342\nL 740 342\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:none\"/><text x=\"743\" y=\"347\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">E (120194 ≅ 4.06%)</text><path d=\"M 575 275\nL 702 353\nA 150 150 14.32 0 1 679 382\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:rgb(59,162,114)\"/><path d=\"M 692 368\nL 703 378\nM 703 378\nL 718 378\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:none\"/><text x=\"721\" y=\"383\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">F (117514 ≅ 3.97%)</text><path d=\"M 575 275\nL 679 382\nA 150 150 12.12 0 1 654 402\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(252,132,82);fill:rgb(252,132,82)\"/><path d=\"M 667 392\nL 676 404\nM 676 404\nL 691 404\" style=\"stroke-width:1;stroke:rgb(252,132,82);fill:none\"/><text x=\"694\" y=\"409\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">G (99412 ≅ 3.36%)</text><path d=\"M 575 275\nL 654 402\nA 150 150 11.11 0 1 628 415\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:rgb(154,96,180)\"/><path d=\"M 642 409\nL 648 422\nM 648 422\nL 663 422\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:none\"/><text x=\"666\" y=\"427\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">H (91135 ≅ 3.08%)</text><path d=\"M 575 275\nL 628 415\nA 150 150 10.64 0 1 601 422\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(234,124,204);fill:rgb(234,124,204)\"/><path d=\"M 615 419\nL 619 438\nM 619 438\nL 634 438\" style=\"stroke-width:1;stroke:rgb(234,124,204);fill:none\"/><text x=\"637\" y=\"443\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">I (87282 ≅ 2.95%)</text><path d=\"M 575 275\nL 601 422\nA 150 150 9.36 0 1 577 424\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:rgb(124,152,200)\"/><path d=\"M 589 424\nL 591 454\nM 591 454\nL 606 454\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:none\"/><text x=\"609\" y=\"459\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">J (76790 ≅ 2.59%)</text><path d=\"M 575 275\nL 426 284\nA 150 150 3.61 0 1 426 275\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(180,176,200);fill:rgb(180,176,200)\"/><path d=\"M 426 280\nL 411 280\nM 411 280\nL 396 280\" style=\"stroke-width:1;stroke:rgb(180,176,200);fill:none\"/><text x=\"308\" y=\"285\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Z (29608 ≅ 1%)</text><path d=\"M 575 275\nL 427 295\nA 150 150 3.97 0 1 426 284\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,162);fill:rgb(200,180,162)\"/><path d=\"M 426 290\nL 411 296\nM 411 296\nL 396 296\" style=\"stroke-width:1;stroke:rgb(200,180,162);fill:none\"/><text x=\"297\" y=\"301\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Y (32566 ≅ 1.1%)</text><path d=\"M 575 275\nL 429 305\nA 150 150 4.00 0 1 427 295\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(139,200,180);fill:rgb(139,200,180)\"/><path d=\"M 428 300\nL 413 312\nM 413 312\nL 398 312\" style=\"stroke-width:1;stroke:rgb(139,200,180);fill:none\"/><text x=\"298\" y=\"317\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">X (32788 ≅ 1.1%)</text><path d=\"M 575 275\nL 431 316\nA 150 150 4.12 0 1 429 305\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(180,180,200);fill:rgb(180,180,200)\"/><path d=\"M 430 310\nL 415 328\nM 415 328\nL 400 328\" style=\"stroke-width:1;stroke:rgb(180,180,200);fill:none\"/><text x=\"290\" y=\"333\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">W (33784 ≅ 1.14%)</text><path d=\"M 575 275\nL 435 327\nA 150 150 4.47 0 1 431 316\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:rgb(200,180,180)\"/><path d=\"M 433 321\nL 419 344\nM 419 344\nL 404 344\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:none\"/><text x=\"297\" y=\"349\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">V (36644 ≅ 1.24%)</text><path d=\"M 575 275\nL 439 338\nA 150 150 4.56 0 1 435 327\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,168);fill:rgb(200,180,168)\"/><path d=\"M 437 332\nL 423 360\nM 423 360\nL 408 360\" style=\"stroke-width:1;stroke:rgb(200,180,168);fill:none\"/><text x=\"301\" y=\"365\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">U (37414 ≅ 1.26%)</text><path d=\"M 575 275\nL 445 349\nA 150 150 4.81 0 1 439 338\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,180);fill:rgb(180,200,180)\"/><path d=\"M 442 343\nL 429 376\nM 429 376\nL 414 376\" style=\"stroke-width:1;stroke:rgb(180,200,180);fill:none\"/><text x=\"307\" y=\"381\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">T (39476 ≅ 1.33%)</text><path d=\"M 575 275\nL 452 360\nA 150 150 5.03 0 1 445 349\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:rgb(164,180,200)\"/><path d=\"M 449 355\nL 436 392\nM 436 392\nL 421 392\" style=\"stroke-width:1;stroke:rgb(164,180,200);fill:none\"/><text x=\"314\" y=\"397\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">S (41242 ≅ 1.39%)</text><path d=\"M 575 275\nL 462 373\nA 150 150 6.27 0 1 452 360\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:rgb(200,164,180)\"/><path d=\"M 457 367\nL 445 408\nM 445 408\nL 430 408\" style=\"stroke-width:1;stroke:rgb(200,164,180);fill:none\"/><text x=\"323\" y=\"413\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">R (51460 ≅ 1.74%)</text><path d=\"M 575 275\nL 474 385\nA 150 150 6.55 0 1 462 373\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:rgb(180,136,200)\"/><path d=\"M 468 379\nL 457 424\nM 457 424\nL 442 424\" style=\"stroke-width:1;stroke:rgb(180,136,200);fill:none\"/><text x=\"334\" y=\"429\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Q (53746 ≅ 1.81%)</text><path d=\"M 575 275\nL 488 396\nA 150 150 6.68 0 1 474 385\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:rgb(200,172,122)\"/><path d=\"M 481 391\nL 471 440\nM 471 440\nL 456 440\" style=\"stroke-width:1;stroke:rgb(200,172,122);fill:none\"/><text x=\"349\" y=\"445\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">P (54792 ≅ 1.85%)</text><path d=\"M 575 275\nL 503 406\nA 150 150 6.76 0 1 488 396\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:rgb(99,200,154)\"/><path d=\"M 495 401\nL 487 456\nM 487 456\nL 472 456\" style=\"stroke-width:1;stroke:rgb(99,200,154);fill:none\"/><text x=\"364\" y=\"461\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">O (55486 ≅ 1.87%)</text><path d=\"M 575 275\nL 519 413\nA 150 150 6.86 0 1 503 406\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:rgb(155,180,200)\"/><path d=\"M 511 410\nL 504 472\nM 504 472\nL 489 472\" style=\"stroke-width:1;stroke:rgb(155,180,200);fill:none\"/><text x=\"388\" y=\"477\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">N (56306 ≅ 1.9%)</text><path d=\"M 575 275\nL 537 419\nA 150 150 7.10 0 1 519 413\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:rgb(200,142,142)\"/><path d=\"M 528 417\nL 523 488\nM 523 488\nL 508 488\" style=\"stroke-width:1;stroke:rgb(200,142,142);fill:none\"/><text x=\"398\" y=\"493\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">M (58270 ≅ 1.97%)</text><path d=\"M 575 275\nL 555 423\nA 150 150 7.17 0 1 537 419\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:rgb(200,180,128)\"/><path d=\"M 546 422\nL 543 504\nM 543 504\nL 528 504\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:none\"/><text x=\"422\" y=\"509\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">L (58818 ≅ 1.99%)</text><path d=\"M 575 275\nL 577 424\nA 150 150 8.85 0 1 555 423\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:rgb(180,200,157)\"/><path d=\"M 567 424\nL 566 520\nM 566 520\nL 551 520\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:none\"/><text x=\"444\" y=\"525\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">K (72586 ≅ 2.45%)</text><path d=\"M 575 275\nL 426 275\nA 150 150 3.60 0 1 426 267\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:rgb(200,180,180)\"/><path d=\"M 426 271\nL 411 264\nM 411 264\nL 396 264\" style=\"stroke-width:1;stroke:rgb(200,180,180);fill:none\"/><text x=\"298\" y=\"269\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">AA (29558 ≅ 1%)</text><path d=\"M 575 275\nL 426 267\nA 150 150 3.58 0 1 427 257\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><path d=\"M 426 262\nL 411 248\nM 411 248\nL 396 248\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:none\"/><text x=\"281\" y=\"253\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">AB (29384 ≅ 0.99%)</text><path d=\"M 575 275\nL 427 257\nA 150 150 3.43 0 1 428 248\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(145,200,117);fill:rgb(145,200,117)\"/><path d=\"M 427 253\nL 412 232\nM 412 232\nL 397 232\" style=\"stroke-width:1;stroke:rgb(145,200,117);fill:none\"/><text x=\"281\" y=\"237\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">AC (28166 ≅ 0.95%)</text><path d=\"M 575 275\nL 428 248\nA 150 150 3.29 0 1 430 240\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,88);fill:rgb(200,180,88)\"/><path d=\"M 429 244\nL 414 216\nM 414 216\nL 399 216\" style=\"stroke-width:1;stroke:rgb(200,180,88);fill:none\"/><text x=\"283\" y=\"221\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">AD (26998 ≅ 0.91%)</text><path d=\"M 575 275\nL 430 240\nA 150 150 3.28 0 1 432 232\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(200,102,102);fill:rgb(200,102,102)\"/><path d=\"M 431 236\nL 416 200\nM 416 200\nL 401 200\" style=\"stroke-width:1;stroke:rgb(200,102,102);fill:none\"/><text x=\"286\" y=\"205\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">AE (26948 ≅ 0.91%)</text><path d=\"M 575 275\nL 432 232\nA 150 150 3.18 0 1 435 224\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(115,180,200);fill:rgb(115,180,200)\"/><path d=\"M 433 228\nL 419 184\nM 419 184\nL 404 184\" style=\"stroke-width:1;stroke:rgb(115,180,200);fill:none\"/><text x=\"290\" y=\"189\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">AF (26054 ≅ 0.88%)</text><path d=\"M 575 275\nL 435 224\nA 150 150 3.14 0 1 438 216\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:rgb(59,162,114)\"/><path d=\"M 436 220\nL 422 168\nM 422 168\nL 407 168\" style=\"stroke-width:1;stroke:rgb(59,162,114);fill:none\"/><text x=\"291\" y=\"173\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">AG (25804 ≅ 0.87%)</text><path d=\"M 575 275\nL 438 216\nA 150 150 3.14 0 1 441 209\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(200,132,82);fill:rgb(200,132,82)\"/><path d=\"M 439 212\nL 426 152\nM 426 152\nL 411 152\" style=\"stroke-width:1;stroke:rgb(200,132,82);fill:none\"/><text x=\"295\" y=\"157\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">AH (25730 ≅ 0.87%)</text><path d=\"M 575 275\nL 441 209\nA 150 150 2.98 0 1 445 202\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:rgb(154,96,180)\"/><path d=\"M 443 205\nL 430 136\nM 430 136\nL 415 136\" style=\"stroke-width:1;stroke:rgb(154,96,180);fill:none\"/><text x=\"304\" y=\"141\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">AI (24438 ≅ 0.82%)</text><path d=\"M 575 275\nL 445 202\nA 150 150 2.90 0 1 449 195\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(200,124,180);fill:rgb(200,124,180)\"/><path d=\"M 447 199\nL 434 120\nM 434 120\nL 419 120\" style=\"stroke-width:1;stroke:rgb(200,124,180);fill:none\"/><text x=\"312\" y=\"125\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">AJ (23782 ≅ 0.8%)</text><path d=\"M 575 275\nL 449 195\nA 150 150 2.79 0 1 453 189\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:rgb(124,152,200)\"/><path d=\"M 451 192\nL 438 104\nM 438 104\nL 423 104\" style=\"stroke-width:1;stroke:rgb(124,152,200);fill:none\"/><text x=\"308\" y=\"109\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">AK (22896 ≅ 0.77%)</text><path d=\"M 575 275\nL 453 189\nA 150 150 2.61 0 1 457 184\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:rgb(180,200,157)\"/><path d=\"M 455 186\nL 443 88\nM 443 88\nL 428 88\" style=\"stroke-width:1;stroke:rgb(180,200,157);fill:none\"/><text x=\"314\" y=\"93\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">AL (21404 ≅ 0.72%)</text><path d=\"M 575 275\nL 457 184\nA 150 150 52.28 0 1 575 125\nL 575 275\nZ\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:rgb(200,180,128)\"/><path d=\"M 509 141\nL 503 72\nM 503 72\nL 488 72\" style=\"stroke-width:1;stroke:rgb(200,180,128);fill:none\"/><text x=\"355\" y=\"77\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">AM (428978 ≅ 14.52%)</text></svg>",
},
{
name: "custom_fonts",
defaultTheme: true,
makeOptions: func() PieChartOption {
opt := makeBasicPieChartOption()
customFont := NewFontStyleWithSize(4.0).WithColor(ColorBlue)
opt.Legend.FontStyle = customFont
opt.Title.FontStyle = customFont
return opt
},
result: "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 600 400\"><path d=\"M 20 20\nL 580 20\nL 580 380\nL 20 380\nL 20 20\" style=\"stroke:none;fill:white\"/><path d=\"M 40 49\nL 70 49\" style=\"stroke-width:3;stroke:rgb(84,112,198);fill:none\"/><circle cx=\"55\" cy=\"49\" r=\"5\" style=\"stroke-width:3;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><text x=\"72\" y=\"55\" style=\"stroke:none;fill:blue;font-size:5.1px;font-family:'Roboto Medium',sans-serif\">Search Engine</text><path d=\"M 40 69\nL 70 69\" style=\"stroke-width:3;stroke:rgb(145,204,117);fill:none\"/><circle cx=\"55\" cy=\"69\" r=\"5\" style=\"stroke-width:3;stroke:rgb(145,204,117);fill:rgb(145,204,117)\"/><text x=\"72\" y=\"75\" style=\"stroke:none;fill:blue;font-size:5.1px;font-family:'Roboto Medium',sans-serif\">Direct</text><path d=\"M 40 89\nL 70 89\" style=\"stroke-width:3;stroke:rgb(250,200,88);fill:none\"/><circle cx=\"55\" cy=\"89\" r=\"5\" style=\"stroke-width:3;stroke:rgb(250,200,88);fill:rgb(250,200,88)\"/><text x=\"72\" y=\"95\" style=\"stroke:none;fill:blue;font-size:5.1px;font-family:'Roboto Medium',sans-serif\">Email</text><path d=\"M 40 109\nL 70 109\" style=\"stroke-width:3;stroke:rgb(238,102,102);fill:none\"/><circle cx=\"55\" cy=\"109\" r=\"5\" style=\"stroke-width:3;stroke:rgb(238,102,102);fill:rgb(238,102,102)\"/><text x=\"72\" y=\"115\" style=\"stroke:none;fill:blue;font-size:5.1px;font-family:'Roboto Medium',sans-serif\">Union Ads</text><path d=\"M 40 129\nL 70 129\" style=\"stroke-width:3;stroke:rgb(115,192,222);fill:none\"/><circle cx=\"55\" cy=\"129\" r=\"5\" style=\"stroke-width:3;stroke:rgb(115,192,222);fill:rgb(115,192,222)\"/><text x=\"72\" y=\"135\" style=\"stroke:none;fill:blue;font-size:5.1px;font-family:'Roboto Medium',sans-serif\">Video Ads</text><text x=\"274\" y=\"45\" style=\"stroke:none;fill:blue;font-size:5.1px;font-family:'Roboto Medium',sans-serif\">Rainfall vs Evaporation</text><text x=\"289\" y=\"50\" style=\"stroke:none;fill:blue;font-size:5.1px;font-family:'Roboto Medium',sans-serif\">Fake Data</text><path d=\"M 300 197\nL 300 91\nA 106 106 119.89 0 1 391 249\nL 300 197\nZ\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><path d=\"M 391 144\nL 404 137\nM 404 137\nL 419 137\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:none\"/><text x=\"422\" y=\"142\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Search Engine: 33.3%</text><path d=\"M 300 197\nL 391 249\nA 106 106 84.08 0 1 257 293\nL 300 197\nZ\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:rgb(145,204,117)\"/><path d=\"M 332 297\nL 337 312\nM 337 312\nL 352 312\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:none\"/><text x=\"355\" y=\"317\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Direct: 23.35%</text><path d=\"M 300 197\nL 257 293\nA 106 106 66.35 0 1 195 197\nL 300 197\nZ\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:rgb(250,200,88)\"/><path d=\"M 211 254\nL 199 262\nM 199 262\nL 184 262\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:none\"/><text x=\"100\" y=\"267\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Email: 18.43%</text><path d=\"M 300 197\nL 195 197\nA 106 106 55.37 0 1 241 110\nL 300 197\nZ\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:rgb(238,102,102)\"/><path d=\"M 207 148\nL 194 141\nM 194 141\nL 179 141\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:none\"/><text x=\"68\" y=\"146\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Union Ads: 15.37%</text><path d=\"M 300 197\nL 241 110\nA 106 106 34.32 0 1 300 91\nL 300 197\nZ\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:rgb(115,192,222)\"/><path d=\"M 269 96\nL 265 82\nM 265 82\nL 250 82\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:none\"/><text x=\"147\" y=\"87\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Video Ads: 9.53%</text></svg>",
},
{
name: "legend_bottom_right",
defaultTheme: true,
makeOptions: func() PieChartOption {
opt := makeBasicPieChartOption()
opt.Legend.Offset = OffsetStr{
Top: PositionBottom,
Left: PositionRight,
}
return opt
},
result: "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 600 400\"><path d=\"M 20 20\nL 580 20\nL 580 380\nL 20 380\nL 20 20\" style=\"stroke:none;fill:white\"/><path d=\"M 429 264\nL 459 264\" style=\"stroke-width:3;stroke:rgb(84,112,198);fill:none\"/><circle cx=\"444\" cy=\"264\" r=\"5\" style=\"stroke-width:3;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><text x=\"461\" y=\"270\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Search Engine</text><path d=\"M 429 284\nL 459 284\" style=\"stroke-width:3;stroke:rgb(145,204,117);fill:none\"/><circle cx=\"444\" cy=\"284\" r=\"5\" style=\"stroke-width:3;stroke:rgb(145,204,117);fill:rgb(145,204,117)\"/><text x=\"461\" y=\"290\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Direct</text><path d=\"M 429 304\nL 459 304\" style=\"stroke-width:3;stroke:rgb(250,200,88);fill:none\"/><circle cx=\"444\" cy=\"304\" r=\"5\" style=\"stroke-width:3;stroke:rgb(250,200,88);fill:rgb(250,200,88)\"/><text x=\"461\" y=\"310\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Email</text><path d=\"M 429 324\nL 459 324\" style=\"stroke-width:3;stroke:rgb(238,102,102);fill:none\"/><circle cx=\"444\" cy=\"324\" r=\"5\" style=\"stroke-width:3;stroke:rgb(238,102,102);fill:rgb(238,102,102)\"/><text x=\"461\" y=\"330\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Union Ads</text><path d=\"M 429 344\nL 459 344\" style=\"stroke-width:3;stroke:rgb(115,192,222);fill:none\"/><circle cx=\"444\" cy=\"344\" r=\"5\" style=\"stroke-width:3;stroke:rgb(115,192,222);fill:rgb(115,192,222)\"/><text x=\"461\" y=\"350\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Video Ads</text><text x=\"222\" y=\"55\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Rainfall vs Evaporation</text><text x=\"266\" y=\"70\" style=\"stroke:none;fill:rgb(70,70,70);font-size:15.3px;font-family:'Roboto Medium',sans-serif\">Fake Data</text><path d=\"M 300 207\nL 300 109\nA 98 98 119.89 0 1 384 255\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:rgb(84,112,198)\"/><path d=\"M 384 158\nL 397 151\nM 397 151\nL 412 151\" style=\"stroke-width:1;stroke:rgb(84,112,198);fill:none\"/><text x=\"415\" y=\"156\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Search Engine: 33.3%</text><path d=\"M 300 207\nL 384 255\nA 98 98 84.08 0 1 261 296\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:rgb(145,204,117)\"/><path d=\"M 330 300\nL 335 314\nM 335 314\nL 350 314\" style=\"stroke-width:1;stroke:rgb(145,204,117);fill:none\"/><text x=\"353\" y=\"319\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Direct: 23.35%</text><path d=\"M 300 207\nL 261 296\nA 98 98 66.35 0 1 203 207\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:rgb(250,200,88)\"/><path d=\"M 218 260\nL 206 268\nM 206 268\nL 191 268\" style=\"stroke-width:1;stroke:rgb(250,200,88);fill:none\"/><text x=\"107\" y=\"273\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Email: 18.43%</text><path d=\"M 300 207\nL 203 207\nA 98 98 55.37 0 1 245 127\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:rgb(238,102,102)\"/><path d=\"M 214 161\nL 201 154\nM 201 154\nL 186 154\" style=\"stroke-width:1;stroke:rgb(238,102,102);fill:none\"/><text x=\"75\" y=\"159\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Union Ads: 15.37%</text><path d=\"M 300 207\nL 245 127\nA 98 98 34.32 0 1 300 109\nL 300 207\nZ\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:rgb(115,192,222)\"/><path d=\"M 272 114\nL 267 100\nM 267 100\nL 252 100\" style=\"stroke-width:1;stroke:rgb(115,192,222);fill:none\"/><text x=\"149\" y=\"105\" style=\"stroke:none;fill:rgb(70,70,70);font-size:12.8px;font-family:'Roboto Medium',sans-serif\">Video Ads: 9.53%</text></svg>",
},
}
for i, tt := range tests {
if tt.width == 0 {
tt.width = 600
}
if tt.height == 0 {
tt.height = 400
}
painterOptions := PainterOptions{
OutputFormat: ChartOutputSVG,
Width: tt.width,
Height: tt.height,
}
if tt.defaultTheme {
t.Run(strconv.Itoa(i)+"-"+tt.name, func(t *testing.T) {
p := NewPainter(painterOptions)
validatePieChartRender(t, p.Child(PainterPaddingOption(NewBoxEqual(20))),
tt.makeOptions(), tt.result)
})
} else {
t.Run(strconv.Itoa(i)+"-"+tt.name+"-painter", func(t *testing.T) {
p := NewPainter(painterOptions, PainterThemeOption(GetTheme(ThemeVividDark)))
validatePieChartRender(t, p, tt.makeOptions(), tt.result)
})
t.Run(strconv.Itoa(i)+"-"+tt.name+"-options", func(t *testing.T) {
p := NewPainter(painterOptions)
opt := tt.makeOptions()
opt.Theme = GetTheme(ThemeVividDark)
validatePieChartRender(t, p, opt, tt.result)
})
}
}
}
func validatePieChartRender(t *testing.T, p *Painter, opt PieChartOption, expectedResult string) {
t.Helper()
err := p.PieChart(opt)
require.NoError(t, err)
data, err := p.Bytes()
require.NoError(t, err)
assertEqualSVG(t, expectedResult, data)
}