newsworthycharts 1.76.1__py3-none-any.whl → 1.76.2__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.
@@ -1,4 +1,4 @@
1
- __version__ = "1.76.1"
1
+ __version__ = "1.76.2"
2
2
 
3
3
  from .chart import Chart
4
4
  from .choroplethmap import ChoroplethMap
newsworthycharts/chart.py CHANGED
@@ -18,7 +18,7 @@ from matplotlib.font_manager import FontProperties
18
18
  from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
19
19
  from matplotlib.figure import Figure
20
20
  from matplotlib.ticker import FuncFormatter
21
- from matplotlib.dates import DateFormatter, num2date, YearLocator
21
+ from matplotlib.dates import DateFormatter, num2date, date2num, YearLocator
22
22
 
23
23
  from langcodes import standardize_tag
24
24
  from PIL import Image
@@ -420,11 +420,29 @@ class Chart(object):
420
420
 
421
421
  else:
422
422
  loc = get_best_locator(delta, len(dates), self.interval, max_ticks=self.max_ticks)
423
+ print(loc)
423
424
  self.ax.xaxis.set_major_locator(loc)
424
425
  formatter = Formatter(self._language)
425
426
 
427
+ if self.interval == "weekly" and delta.days > 90:
428
+ # custom locator _and_ ticks: Put month label on start of each new month
429
+ # only the first occurance of each month
430
+ _loc_ticks = [
431
+ date2num(to_date(x)) for (i, x) in enumerate(self.data.x_points)
432
+ if i == 0 or x[5:7] != self.data.x_points[i - 1][5:7]
433
+ ]
434
+ import matplotlib.ticker as ticker
435
+ loc = ticker.FixedLocator(_loc_ticks)
436
+ self.ax.xaxis.set_major_locator(loc)
437
+
438
+ def fmt(x, pos):
439
+ d = num2date(x).isoformat()[:10]
440
+ if pos and self.data.x_points[pos - 1][0:4] != self.data.x_points[pos][0:4]:
441
+ return formatter.date(d, "MMM y")
442
+ else:
443
+ return formatter.date(d, "MMM")
426
444
  # if isinstance(loc, WeekdayLocator):
427
- if self.interval == "weekly":
445
+ elif self.interval == "weekly":
428
446
  # We consider dates to be more informative than week numbers
429
447
  def fmt(x, pos):
430
448
  d = num2date(x).isoformat()[:10]
@@ -1,28 +1,39 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: newsworthycharts
3
- Version: 1.76.1
3
+ Version: 1.76.2
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.76.1.tar.gz
6
+ Download-URL: https://github.com/jplusplus/newsworthycharts/archive/1.76.2.tar.gz
7
7
  Author: Jens Finnäs and Leo Wallentin, J++ Stockholm
8
8
  Author-email: stockholm@jplusplus.org
9
9
  License: MIT
10
10
  Requires-Python: >=3.10
11
11
  Description-Content-Type: text/x-rst
12
12
  License-File: LICENSE.txt
13
+ Requires-Dist: boto3>=1.26
14
+ Requires-Dist: matplotlib==3.10.6
15
+ Requires-Dist: langcodes>=3.3
13
16
  Requires-Dist: Babel<3,>=2.14.0
14
- Requires-Dist: Pillow==11.3.0
15
17
  Requires-Dist: PyYAML>=3
16
18
  Requires-Dist: adjustText==1.3.0
17
- Requires-Dist: boto3>=1.26
18
- Requires-Dist: geopandas==1.1.1
19
- Requires-Dist: langcodes>=3.3
20
- Requires-Dist: mapclassify==2.10.0
21
- Requires-Dist: matplotlib-label-lines==0.5.1
22
- Requires-Dist: matplotlib==3.10.3
23
19
  Requires-Dist: numpy>2
24
20
  Requires-Dist: python-dateutil<3,>=2
21
+ Requires-Dist: Pillow==11.3.0
25
22
  Requires-Dist: requests>=2.22
23
+ Requires-Dist: matplotlib-label-lines==0.5.1
24
+ Requires-Dist: geopandas==1.1.1
25
+ Requires-Dist: mapclassify==2.10.0
26
+ Dynamic: author
27
+ Dynamic: author-email
28
+ Dynamic: description
29
+ Dynamic: description-content-type
30
+ Dynamic: download-url
31
+ Dynamic: home-page
32
+ Dynamic: license
33
+ Dynamic: license-file
34
+ Dynamic: requires-dist
35
+ Dynamic: requires-python
36
+ Dynamic: summary
26
37
 
27
38
  This module contains methods for producing graphs and publishing them on Amazon S3, or in the location of your choice.
28
39
 
@@ -276,6 +287,11 @@ Roadmap
276
287
  Changelog
277
288
  ---------
278
289
 
290
+ - 1.76.2
291
+
292
+ - Use custom locator for crowded weekly data
293
+ - matplotlib==3.10.6
294
+
279
295
  - 1.76.1
280
296
 
281
297
  - Fixed a bug where x axis labels would sometimes get mixed up in long weekly data series
@@ -1,7 +1,7 @@
1
- newsworthycharts/__init__.py,sha256=LPW7UvPQBBiHwuKd504r3HoYS7hZsHT8FoxSZlyPa5g,1221
1
+ newsworthycharts/__init__.py,sha256=xLQdIOkQXmWVDGTLvbSD9--qBkoCucP41TOweTP5Pys,1221
2
2
  newsworthycharts/bubblemap.py,sha256=nkocWmpiFgfjEuJGAsthjY5X7Q56jXWsZHUGXw4PwgE,2587
3
3
  newsworthycharts/categoricalchart.py,sha256=Vr-0yFms0hEVCeUa3vLt3FYBqpX4xLQ8YGPc4LGQN_A,18368
4
- newsworthycharts/chart.py,sha256=j4iDVom87v8S8wxott-JtOLiZv0Rsm0GrYsa3Snlj9o,35472
4
+ newsworthycharts/chart.py,sha256=yNGqPk8fWijIQ9EpYg3ANfi7pNldrN3RyjaP3NxF0yU,36405
5
5
  newsworthycharts/choroplethmap.py,sha256=3ztB8C0Pm9yUvPucnsRgmdPmnlCxvkiB42JuSOJmWSk,9834
6
6
  newsworthycharts/datawrapper.py,sha256=RRkAVTpfP4updKxUIBaSmKuBi2RUVPaBRF8HDQhlGGA,11250
7
7
  newsworthycharts/map.py,sha256=tECE7bZhJnvJxFV2pSitDxaHrKOwjBjoSA15H-MdzeI,6123
@@ -29,8 +29,8 @@ newsworthycharts/rc/newsworthy,sha256=yOIZvYS6PG1u19VMcdtfj9vbihKQsey5IprwqK59Kg
29
29
  newsworthycharts/translations/datawrapper_regions.csv,sha256=fzZcQRX6RFMlNNP8mpgfYNdR3Y0QAlQxDXk8FXTaWWI,9214
30
30
  newsworthycharts/translations/regions.py,sha256=Nv1McQjggD4S3JRu82rDMTG3pqUVR13E5-FBpSYbm98,239
31
31
  newsworthycharts/translations/se_municipalities.csv,sha256=br_mm-IvzQtj_W55_ATREhJ97jWnCweBFlDAVY2EBxA,7098
32
- newsworthycharts-1.76.1.dist-info/LICENSE.txt,sha256=Sq6kGICrehbhC_FolNdXf0djKjTpv3YqjFCIYsxdQN4,1069
33
- newsworthycharts-1.76.1.dist-info/METADATA,sha256=XRUhmqYRSPArtvHTKo8PJGvGHK4MrYPZlTsNzQ3XT5Q,35564
34
- newsworthycharts-1.76.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
35
- newsworthycharts-1.76.1.dist-info/top_level.txt,sha256=dn_kzIj8UgUCMsh1PHdVEQJHVGSsN7Z8YJF-8xXa8n0,17
36
- newsworthycharts-1.76.1.dist-info/RECORD,,
32
+ newsworthycharts-1.76.2.dist-info/licenses/LICENSE.txt,sha256=Sq6kGICrehbhC_FolNdXf0djKjTpv3YqjFCIYsxdQN4,1069
33
+ newsworthycharts-1.76.2.dist-info/METADATA,sha256=5UazmLqY83MHFvSj3ruF7TmMyYsSNLR1w1Dic4w0z2o,35883
34
+ newsworthycharts-1.76.2.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
35
+ newsworthycharts-1.76.2.dist-info/top_level.txt,sha256=dn_kzIj8UgUCMsh1PHdVEQJHVGSsN7Z8YJF-8xXa8n0,17
36
+ newsworthycharts-1.76.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.45.1)
2
+ Generator: setuptools (80.4.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5