newsworthycharts 1.61.1__py3-none-any.whl → 1.61.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- newsworthycharts/__init__.py +1 -1
- newsworthycharts/chart.py +1 -1
- newsworthycharts/rc/newsworthy +1 -1
- newsworthycharts/serialchart.py +28 -12
- {newsworthycharts-1.61.1.dist-info → newsworthycharts-1.61.3.dist-info}/METADATA +12 -2
- {newsworthycharts-1.61.1.dist-info → newsworthycharts-1.61.3.dist-info}/RECORD +9 -9
- {newsworthycharts-1.61.1.dist-info → newsworthycharts-1.61.3.dist-info}/LICENSE.txt +0 -0
- {newsworthycharts-1.61.1.dist-info → newsworthycharts-1.61.3.dist-info}/WHEEL +0 -0
- {newsworthycharts-1.61.1.dist-info → newsworthycharts-1.61.3.dist-info}/top_level.txt +0 -0
newsworthycharts/__init__.py
CHANGED
newsworthycharts/chart.py
CHANGED
@@ -716,7 +716,7 @@ class Chart(object):
|
|
716
716
|
'Creator': f"NWCharts {__version__}",
|
717
717
|
}
|
718
718
|
"""
|
719
|
-
self._fig.savefig(buf, **args)
|
719
|
+
self._fig.savefig(buf, **args) # bbox_inches="tight")
|
720
720
|
buf.seek(0)
|
721
721
|
self._storage.save(key, buf, file_format, storage_options)
|
722
722
|
|
newsworthycharts/rc/newsworthy
CHANGED
@@ -55,7 +55,7 @@ lines.markersize : 8
|
|
55
55
|
|
56
56
|
#! neutral_color : 6f6e75
|
57
57
|
#! strong_color : 00a39a
|
58
|
-
#! qualitative_colors : 00a39a, DBAD58, A6426A, 93003a
|
58
|
+
#! qualitative_colors : 00a39a, DBAD58, A6426A, 93003a, C8C7D1
|
59
59
|
#! positive_color : 00a39a
|
60
60
|
#! negative_color : 93003a
|
61
61
|
|
newsworthycharts/serialchart.py
CHANGED
@@ -194,6 +194,8 @@ class SerialChart(Chart):
|
|
194
194
|
line_label_elems = []
|
195
195
|
value_label_elems = []
|
196
196
|
|
197
|
+
bar_elems = []
|
198
|
+
|
197
199
|
for i, serie in enumerate(series):
|
198
200
|
|
199
201
|
values = np.array(serie_values[i], dtype=float)
|
@@ -340,7 +342,6 @@ class SerialChart(Chart):
|
|
340
342
|
"""
|
341
343
|
bar_widths_ = [self._days_in(self.interval, d) for d in dates]
|
342
344
|
|
343
|
-
# Put whitespace betw bars, unless there are a lot of bars
|
344
345
|
bbox = self.ax.get_window_extent()
|
345
346
|
if (sum(bar_widths_) * 2 / len(dates)) > bbox.width:
|
346
347
|
bar_widths = bar_widths_
|
@@ -352,13 +353,13 @@ class SerialChart(Chart):
|
|
352
353
|
width=bar_widths,
|
353
354
|
zorder=zo,
|
354
355
|
)
|
355
|
-
if len(dates) < 100:
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
356
|
+
# if len(dates) < 100:
|
357
|
+
# # FIXME: This complements the bar_width hack above
|
358
|
+
# # For some charts edges give better results (n_bars ~50?)
|
359
|
+
# # This should be better tested, and implemented in a
|
360
|
+
# # more robust way
|
361
|
+
# bar_kwargs["edgecolor"] = "white"
|
362
|
+
# bar_kwargs["linewidth"] = 0 # 1
|
362
363
|
|
363
364
|
if is_stacked and i > 0:
|
364
365
|
if self.baseline != 0:
|
@@ -378,6 +379,7 @@ class SerialChart(Chart):
|
|
378
379
|
bar_kwargs["bottom"] = self.baseline
|
379
380
|
|
380
381
|
bars = self.ax.bar(dates, values, **bar_kwargs)
|
382
|
+
bar_elems.append(bars)
|
381
383
|
|
382
384
|
if len(self.labels) > i:
|
383
385
|
bars.set_label(self.labels[i])
|
@@ -438,7 +440,17 @@ class SerialChart(Chart):
|
|
438
440
|
# Could happen if we have two or more lines,
|
439
441
|
# with different start and end points.
|
440
442
|
continue
|
441
|
-
self._annotate_point(value_label, xy, direction=dir)
|
443
|
+
self._annotate_point(value_label, xy, direction=dir, zorder=15)
|
444
|
+
|
445
|
+
# Add some padding around bars, but only left/right to avoid lines in stacked bars
|
446
|
+
if len(dates) < 100:
|
447
|
+
for bars in bar_elems:
|
448
|
+
# for container in self.ax.containers:
|
449
|
+
for bar in bars:
|
450
|
+
x, y = bar.get_xy()
|
451
|
+
w, h = bar.get_width(), bar.get_height()
|
452
|
+
self.ax.plot([x + w, x + w], [y, y + h], color='white', lw=1, zorder=10)
|
453
|
+
self.ax.plot([x, x], [y, y + h], color='white', lw=1, zorder=10)
|
442
454
|
|
443
455
|
# Add background highlights
|
444
456
|
for (x0, x1) in self.highlighted_x_ranges:
|
@@ -600,9 +612,13 @@ class SerialChart(Chart):
|
|
600
612
|
for i, date in enumerate(dates):
|
601
613
|
xy = (date, values[i])
|
602
614
|
dir = self._get_annotation_direction(i, values)
|
603
|
-
self._annotate_point(
|
604
|
-
|
605
|
-
|
615
|
+
self._annotate_point(
|
616
|
+
a_formatter(values[i]),
|
617
|
+
xy,
|
618
|
+
color=trendline_color,
|
619
|
+
direction=dir,
|
620
|
+
zorder=15
|
621
|
+
)
|
606
622
|
|
607
623
|
# x = [a.xy[0] for a in self._annotations]
|
608
624
|
# y = [a.xy[1] for a in self._annotations]
|
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: newsworthycharts
|
3
|
-
Version: 1.61.
|
3
|
+
Version: 1.61.3
|
4
4
|
Summary: Matplotlib wrapper to create charts and publish them on Amazon S3
|
5
5
|
Home-page: https://github.com/jplusplus/newsworthycharts
|
6
|
-
Download-URL: https://github.com/jplusplus/newsworthycharts/archive/1.61.
|
6
|
+
Download-URL: https://github.com/jplusplus/newsworthycharts/archive/1.61.3.tar.gz
|
7
7
|
Author: Jens Finnäs and Leo Wallentin, J++ Stockholm
|
8
8
|
Author-email: stockholm@jplusplus.org
|
9
9
|
License: MIT
|
@@ -150,6 +150,7 @@ These settings are available for all chart types:
|
|
150
150
|
- decimals = None # None means automatically chose the best number
|
151
151
|
- logo = None # Path to image that will be embedded in the caption area. Can also be set though a style property
|
152
152
|
- color_fn = None # Custom coloring function
|
153
|
+
- legend_title = None # Title for the legend
|
153
154
|
|
154
155
|
**SerialChart**
|
155
156
|
|
@@ -252,6 +253,15 @@ Roadmap
|
|
252
253
|
Changelog
|
253
254
|
---------
|
254
255
|
|
256
|
+
- 1.61.3
|
257
|
+
|
258
|
+
- z-ordering fix in stacked bar charts
|
259
|
+
- added an extra categorical color to the newsworthy style
|
260
|
+
|
261
|
+
- 1.61.2
|
262
|
+
|
263
|
+
- Remove horizontal line between bars in stacked bar charts
|
264
|
+
|
255
265
|
- 1.61.1
|
256
266
|
|
257
267
|
- Improved handling of label_placement = "outside" in SerialChart
|
@@ -1,14 +1,14 @@
|
|
1
|
-
newsworthycharts/__init__.py,sha256=
|
1
|
+
newsworthycharts/__init__.py,sha256=u6vihRaQbJ0Wpazujsxpq-IS7W6GSN6lFAXqOG7MkoI,1160
|
2
2
|
newsworthycharts/bubblemap.py,sha256=nkocWmpiFgfjEuJGAsthjY5X7Q56jXWsZHUGXw4PwgE,2587
|
3
3
|
newsworthycharts/categoricalchart.py,sha256=LwOZ3VbNy9vzvoK0s77AkbfMt4CXVDSAhnsnBInUIrE,14764
|
4
|
-
newsworthycharts/chart.py,sha256=
|
4
|
+
newsworthycharts/chart.py,sha256=bCUkNKjFfuGRN6_VRQ-yCHla5LIMZ9H9a16upWbeWmY,30681
|
5
5
|
newsworthycharts/choroplethmap.py,sha256=bCLf4kcchp1C2djg5AxcOM8BdbaMj0xg7UHrZsDafhI,8013
|
6
6
|
newsworthycharts/datawrapper.py,sha256=RRkAVTpfP4updKxUIBaSmKuBi2RUVPaBRF8HDQhlGGA,11250
|
7
7
|
newsworthycharts/map.py,sha256=c409jEO4L8Yr780sJRC0RchR44roAlgOUDAkuk1SfRg,6057
|
8
8
|
newsworthycharts/rangeplot.py,sha256=NE1W9TnmlpK6T3RvBJOU3nd73EXqkj17OY9i5zlw_cQ,8366
|
9
9
|
newsworthycharts/scatterplot.py,sha256=6iaMoiZx__Gc-2Hcdw-8Ga5dSonrFo3oexKNmSFuir4,4959
|
10
10
|
newsworthycharts/seasonalchart.py,sha256=rr55yqJUkaYDR9Ik98jes6574oY1U8t8LwoLE3gClW4,1967
|
11
|
-
newsworthycharts/serialchart.py,sha256=
|
11
|
+
newsworthycharts/serialchart.py,sha256=FOILuBd_NP-YZNeJwCTz89hPCiO1mDBcJmTEaJVbsw8,27294
|
12
12
|
newsworthycharts/storage.py,sha256=myERhlpvXyExXxUByBq9eW1bWkCyfH9SwTZbsWSyy3Q,4301
|
13
13
|
newsworthycharts/stripechart.py,sha256=9B6PX2MyLuKNQ8W0OGdKbP0-U32kju0K_NHHwwz_J68,1547
|
14
14
|
newsworthycharts/custom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -24,12 +24,12 @@ newsworthycharts/lib/mimetypes.py,sha256=bL9HtVWbn2Of39LcBt4u4yelkr4bGZiyebq3OfL
|
|
24
24
|
newsworthycharts/lib/utils.py,sha256=2Ko0dNFw2eHd32zQwJFUsgDkJGWSl6VacZs4AFPgrc8,7038
|
25
25
|
newsworthycharts/maps/se-4.gpkg,sha256=oWw5j7FPVpI0ig67jNDim8qSn5SG8rcHp0014-uTKZM,290816
|
26
26
|
newsworthycharts/maps/se-7.gpkg,sha256=Vmvqudq_ZtgV0sd6TY6kuk7vzqmYZCJmaxtsJ87q2a8,331776
|
27
|
-
newsworthycharts/rc/newsworthy,sha256=
|
27
|
+
newsworthycharts/rc/newsworthy,sha256=vbYTav1w3DmB5tpaaV7Xl5q7TQJsc9eou6pLCoWc2vs,1589
|
28
28
|
newsworthycharts/translations/datawrapper_regions.csv,sha256=fzZcQRX6RFMlNNP8mpgfYNdR3Y0QAlQxDXk8FXTaWWI,9214
|
29
29
|
newsworthycharts/translations/regions.py,sha256=Nv1McQjggD4S3JRu82rDMTG3pqUVR13E5-FBpSYbm98,239
|
30
30
|
newsworthycharts/translations/se_municipalities.csv,sha256=br_mm-IvzQtj_W55_ATREhJ97jWnCweBFlDAVY2EBxA,7098
|
31
|
-
newsworthycharts-1.61.
|
32
|
-
newsworthycharts-1.61.
|
33
|
-
newsworthycharts-1.61.
|
34
|
-
newsworthycharts-1.61.
|
35
|
-
newsworthycharts-1.61.
|
31
|
+
newsworthycharts-1.61.3.dist-info/LICENSE.txt,sha256=Sq6kGICrehbhC_FolNdXf0djKjTpv3YqjFCIYsxdQN4,1069
|
32
|
+
newsworthycharts-1.61.3.dist-info/METADATA,sha256=FH47AXXq2GHTmWEWqkZz_hiIwDCZIXUz-KB1E2nD4xE,28876
|
33
|
+
newsworthycharts-1.61.3.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
|
34
|
+
newsworthycharts-1.61.3.dist-info/top_level.txt,sha256=dn_kzIj8UgUCMsh1PHdVEQJHVGSsN7Z8YJF-8xXa8n0,17
|
35
|
+
newsworthycharts-1.61.3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|