plotnine 0.15.0a7__py3-none-any.whl → 0.15.0a8__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.
@@ -13,7 +13,7 @@ if TYPE_CHECKING:
13
13
  from matplotlib.figure import Figure
14
14
 
15
15
  from plotnine import ggplot
16
- from plotnine.composition import Arrange
16
+ from plotnine.composition import Compose
17
17
 
18
18
 
19
19
  class PlotnineLayoutEngine(LayoutEngine):
@@ -54,7 +54,7 @@ class PlotnineCompositionLayoutEngine(LayoutEngine):
54
54
  _adjust_compatible = True
55
55
  _colorbar_gridspec = False
56
56
 
57
- def __init__(self, composition: Arrange):
57
+ def __init__(self, composition: Compose):
58
58
  self.composition = composition
59
59
 
60
60
  def execute(self, fig: Figure):
@@ -16,7 +16,7 @@ if TYPE_CHECKING:
16
16
 
17
17
  from plotnine import ggplot
18
18
  from plotnine._mpl.gridspec import p9GridSpec
19
- from plotnine.composition import Arrange
19
+ from plotnine.composition import Compose
20
20
 
21
21
 
22
22
  @dataclass
@@ -82,7 +82,7 @@ class LayoutTree:
82
82
 
83
83
  @staticmethod
84
84
  def create(
85
- cmp: Arrange,
85
+ cmp: Compose,
86
86
  lookup_spaces: dict[ggplot, LayoutSpaces],
87
87
  ) -> LayoutTree:
88
88
  """
@@ -1,10 +1,10 @@
1
- from ._arrange import Arrange
2
1
  from ._beside import Beside
2
+ from ._compose import Compose
3
3
  from ._plot_spacer import plot_spacer
4
4
  from ._stack import Stack
5
5
 
6
6
  __all__ = (
7
- "Arrange",
7
+ "Compose",
8
8
  "Stack",
9
9
  "Beside",
10
10
  "plot_spacer",
@@ -3,14 +3,14 @@ from __future__ import annotations
3
3
  from dataclasses import dataclass
4
4
  from typing import TYPE_CHECKING
5
5
 
6
- from ._arrange import Arrange
6
+ from ._compose import Compose
7
7
 
8
8
  if TYPE_CHECKING:
9
9
  from plotnine.ggplot import ggplot
10
10
 
11
11
 
12
12
  @dataclass
13
- class Beside(Arrange):
13
+ class Beside(Compose):
14
14
  """
15
15
  Place plots or compositions side by side
16
16
 
@@ -27,6 +27,7 @@ class Beside(Arrange):
27
27
  --------
28
28
  plotnine.composition.Stack : To arrange plots vertically
29
29
  plotnine.composition.plot_spacer : To add a blank space between plots
30
+ plotnine.composition.Compose : For more on composing plots
30
31
  """
31
32
 
32
33
  @property
@@ -37,7 +38,7 @@ class Beside(Arrange):
37
38
  def ncol(self) -> int:
38
39
  return len(self)
39
40
 
40
- def __or__(self, rhs: ggplot | Arrange) -> Arrange:
41
+ def __or__(self, rhs: ggplot | Compose) -> Compose:
41
42
  """
42
43
  Add rhs as a column
43
44
  """
@@ -45,7 +46,7 @@ class Beside(Arrange):
45
46
  # operands into a single operation
46
47
  return Beside([*self, rhs])
47
48
 
48
- def __truediv__(self, rhs: ggplot | Arrange) -> Arrange:
49
+ def __truediv__(self, rhs: ggplot | Compose) -> Compose:
49
50
  """
50
51
  Add rhs as a row
51
52
  """
@@ -1,10 +1,10 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import abc
4
- from copy import deepcopy
4
+ from copy import copy, deepcopy
5
5
  from dataclasses import dataclass, field
6
6
  from io import BytesIO
7
- from typing import TYPE_CHECKING
7
+ from typing import TYPE_CHECKING, overload
8
8
 
9
9
  from .._utils.ipython import (
10
10
  get_display_function,
@@ -25,19 +25,53 @@ if TYPE_CHECKING:
25
25
 
26
26
 
27
27
  @dataclass
28
- class Arrange:
28
+ class Compose:
29
29
  """
30
30
  Base class for those that create plot compositions
31
31
 
32
32
  As a user, you will never directly work with this class, except
33
- the operators [`|`](`plotnine.composition.Beside`) and
34
- [`/`](`plotnine.composition.Stack`) that are powered by subclasses
35
- of this class.
33
+ through the operators that it makes possible.
34
+ The operators are of two kinds:
36
35
 
37
- Parameters
38
- ----------
39
- operands:
40
- The objects to be put together (composed).
36
+ ### 1. Composing Operators
37
+
38
+ The combine plots or compositions into a single composition.
39
+ Both operands are either a plot or a composition.
40
+
41
+ `/`
42
+
43
+ : Arrange operands side by side.
44
+ Powered by the subclass [](`~plotnine.composition.Beside`).
45
+
46
+ `|`
47
+
48
+ : Arrange operands vertically.
49
+ Powered by the subclass [](`~plotnine.composition.Stack`).
50
+
51
+ `-`
52
+
53
+ : Arrange operands side by side _and_ at the same nesting level.
54
+ Also powered by the subclass [](`~plotnine.composition.Beside`).
55
+
56
+ ### 2. Plot Modifying Operators
57
+
58
+ The modify all or some of the plots in a composition.
59
+ The left operand is a composition and the right operand is a
60
+ _plotaddable_; any object that can be added to a `ggplot` object
61
+ e.g. _geoms_, _stats_, _themes_, _facets_, ... .
62
+
63
+ `&`
64
+
65
+ : Add right hand side to all plots in the composition.
66
+
67
+ `*`
68
+
69
+ : Add right hand side to all plots in the top-most nesting
70
+ level of the composition.
71
+
72
+ `+`
73
+
74
+ : Add right hand side to the last plot in the composition.
41
75
 
42
76
  See Also
43
77
  --------
@@ -46,7 +80,10 @@ class Arrange:
46
80
  plotnine.composition.plot_spacer : To add a blank space between plots
47
81
  """
48
82
 
49
- operands: list[ggplot | Arrange]
83
+ items: list[ggplot | Compose]
84
+ """
85
+ The objects to be arranged (composed).
86
+ """
50
87
 
51
88
  # These are created in the _create_figure method
52
89
  figure: Figure = field(init=False, repr=False)
@@ -57,24 +94,24 @@ class Arrange:
57
94
  # The way we handle the plots has consequences that would
58
95
  # prevent having a duplicate plot in the composition.
59
96
  # Using copies prevents this.
60
- self.operands = [
61
- op if isinstance(op, Arrange) else deepcopy(op)
62
- for op in self.operands
97
+ self.items = [
98
+ op if isinstance(op, Compose) else deepcopy(op)
99
+ for op in self.items
63
100
  ]
64
101
 
65
102
  @abc.abstractmethod
66
- def __or__(self, rhs: ggplot | Arrange) -> Arrange:
103
+ def __or__(self, rhs: ggplot | Compose) -> Compose:
67
104
  """
68
105
  Add rhs as a column
69
106
  """
70
107
 
71
108
  @abc.abstractmethod
72
- def __truediv__(self, rhs: ggplot | Arrange) -> Arrange:
109
+ def __truediv__(self, rhs: ggplot | Compose) -> Compose:
73
110
  """
74
111
  Add rhs as a row
75
112
  """
76
113
 
77
- def __add__(self, rhs: ggplot | Arrange | PlotAddable) -> Arrange:
114
+ def __add__(self, rhs: ggplot | Compose | PlotAddable) -> Compose:
78
115
  """
79
116
  Add rhs to the composition
80
117
 
@@ -85,13 +122,16 @@ class Arrange:
85
122
  """
86
123
  from plotnine import ggplot
87
124
 
88
- if not isinstance(rhs, (ggplot, Arrange)):
125
+ if not isinstance(rhs, (ggplot, Compose)):
89
126
  cmp = deepcopy(self)
90
127
  cmp.last_plot = cmp.last_plot + rhs
91
128
  return cmp
92
- return self.__class__([*self, rhs])
93
129
 
94
- def __sub__(self, rhs: ggplot | Arrange) -> Arrange:
130
+ t1, t2 = type(self).__name__, type(rhs).__name__
131
+ msg = f"unsupported operand type(s) for +: '{t1}' and '{t2}'"
132
+ raise TypeError(msg)
133
+
134
+ def __sub__(self, rhs: ggplot | Compose) -> Compose:
95
135
  """
96
136
  Add the rhs onto the composition
97
137
 
@@ -100,9 +140,18 @@ class Arrange:
100
140
  rhs:
101
141
  What to place besides the composition
102
142
  """
103
- return self.__class__([self, rhs])
143
+ from plotnine import ggplot
144
+
145
+ from . import Beside
146
+
147
+ if not isinstance(rhs, (ggplot, Compose)):
148
+ t1, t2 = type(self).__name__, type(rhs).__name__
149
+ msg = f"unsupported operand type(s) for -: '{t1}' and '{t2}'"
150
+ raise TypeError(msg)
151
+
152
+ return Beside([self, rhs])
104
153
 
105
- def __and__(self, rhs: PlotAddable) -> Arrange:
154
+ def __and__(self, rhs: PlotAddable) -> Compose:
106
155
  """
107
156
  Add rhs to all plots in the composition
108
157
 
@@ -113,17 +162,17 @@ class Arrange:
113
162
  """
114
163
  self = deepcopy(self)
115
164
 
116
- def add_other(op: Arrange):
117
- for item in op:
118
- if isinstance(item, Arrange):
165
+ def add_other(cmp: Compose):
166
+ for i, item in enumerate(cmp):
167
+ if isinstance(item, Compose):
119
168
  add_other(item)
120
169
  else:
121
- item += rhs
170
+ cmp[i] = item + copy(rhs)
122
171
 
123
172
  add_other(self)
124
173
  return self
125
174
 
126
- def __mul__(self, rhs: PlotAddable) -> Arrange:
175
+ def __mul__(self, rhs: PlotAddable) -> Compose:
127
176
  """
128
177
  Add rhs to the outermost nesting level of the composition
129
178
 
@@ -136,22 +185,38 @@ class Arrange:
136
185
 
137
186
  self = deepcopy(self)
138
187
 
139
- for item in self:
188
+ for i, item in enumerate(self):
140
189
  if isinstance(item, ggplot):
141
- item += rhs
190
+ self[i] = item + copy(rhs)
191
+
142
192
  return self
143
193
 
144
194
  def __len__(self) -> int:
145
195
  """
146
196
  Number of operand
147
197
  """
148
- return len(self.operands)
198
+ return len(self.items)
149
199
 
150
- def __iter__(self) -> Iterator[ggplot | Arrange]:
200
+ def __iter__(self) -> Iterator[ggplot | Compose]:
151
201
  """
152
- Return an iterable of all the operands
202
+ Return an iterable of all the items
153
203
  """
154
- return iter(self.operands)
204
+ return iter(self.items)
205
+
206
+ @overload
207
+ def __getitem__(self, index: int) -> ggplot | Compose: ...
208
+
209
+ @overload
210
+ def __getitem__(self, index: slice) -> list[ggplot | Compose]: ...
211
+
212
+ def __getitem__(
213
+ self,
214
+ index: int | slice,
215
+ ) -> ggplot | Compose | list[ggplot | Compose]:
216
+ return self.items[index]
217
+
218
+ def __setitem__(self, key, value):
219
+ self.items[key] = value
155
220
 
156
221
  def _ipython_display_(self):
157
222
  """
@@ -180,7 +245,7 @@ class Arrange:
180
245
  """
181
246
  from plotnine import ggplot
182
247
 
183
- last_operand = self.operands[-1]
248
+ last_operand = self.items[-1]
184
249
  if isinstance(last_operand, ggplot):
185
250
  return last_operand
186
251
  else:
@@ -193,9 +258,9 @@ class Arrange:
193
258
  """
194
259
  from plotnine import ggplot
195
260
 
196
- last_operand = self.operands[-1]
261
+ last_operand = self.items[-1]
197
262
  if isinstance(last_operand, ggplot):
198
- self.operands[-1] = plot
263
+ self.items[-1] = plot
199
264
  else:
200
265
  last_operand.last_plot = plot
201
266
 
@@ -247,7 +312,7 @@ class Arrange:
247
312
  from plotnine._mpl.gridspec import p9GridSpec
248
313
 
249
314
  def _make_plotspecs(
250
- cmp: Arrange, parent_gridspec: p9GridSpec | None
315
+ cmp: Compose, parent_gridspec: p9GridSpec | None
251
316
  ) -> Generator[plotspec]:
252
317
  """
253
318
  Return the plot specification for each subplot in the composition
@@ -355,7 +420,7 @@ class Arrange:
355
420
  dpi :
356
421
  DPI to use for raster graphics. If None, defaults to using
357
422
  the `dpi` of theme to the first plot.
358
- kwargs :
423
+ **kwargs :
359
424
  These are ignored. Here to "softly" match the API of
360
425
  `ggplot.save()`.
361
426
  """
@@ -370,7 +435,7 @@ class Arrange:
370
435
 
371
436
  @dataclass
372
437
  class plot_composition_context:
373
- cmp: Arrange
438
+ cmp: Compose
374
439
  show: bool
375
440
 
376
441
  def __post_init__(self):
@@ -22,7 +22,7 @@ class plot_spacer(ggplot):
22
22
  --------
23
23
  plotnine.composition.Beside : To arrange plots side by side
24
24
  plotnine.composition.Stack : To arrange plots vertically
25
- plotnine.composition.Arrange : For more on arranging plots
25
+ plotnine.composition.Compose : For more on composing plots
26
26
  """
27
27
 
28
28
  def __init__(
@@ -3,14 +3,14 @@ from __future__ import annotations
3
3
  from dataclasses import dataclass
4
4
  from typing import TYPE_CHECKING
5
5
 
6
- from ._arrange import Arrange
6
+ from ._compose import Compose
7
7
 
8
8
  if TYPE_CHECKING:
9
9
  from plotnine.ggplot import ggplot
10
10
 
11
11
 
12
12
  @dataclass
13
- class Stack(Arrange):
13
+ class Stack(Compose):
14
14
  """
15
15
  Place plots or compositions on top of each other
16
16
 
@@ -27,6 +27,7 @@ class Stack(Arrange):
27
27
  --------
28
28
  plotnine.composition.Beside : To arrange plots side by side
29
29
  plotnine.composition.plot_spacer : To add a blank space between plots
30
+ plotnine.composition.Compose : For more on composing plots
30
31
  """
31
32
 
32
33
  @property
@@ -37,7 +38,7 @@ class Stack(Arrange):
37
38
  def ncol(self) -> int:
38
39
  return 1
39
40
 
40
- def __truediv__(self, rhs: ggplot | Arrange) -> Arrange:
41
+ def __truediv__(self, rhs: ggplot | Compose) -> Compose:
41
42
  """
42
43
  Add rhs as a row
43
44
  """
@@ -45,7 +46,7 @@ class Stack(Arrange):
45
46
  # operands into a single operation
46
47
  return Stack([*self, rhs])
47
48
 
48
- def __or__(self, rhs: ggplot | Arrange) -> Arrange:
49
+ def __or__(self, rhs: ggplot | Compose) -> Compose:
49
50
  """
50
51
  Add rhs as a column
51
52
  """
plotnine/ggplot.py CHANGED
@@ -52,7 +52,7 @@ if TYPE_CHECKING:
52
52
 
53
53
  from plotnine import watermark
54
54
  from plotnine._mpl.gridspec import p9GridSpec
55
- from plotnine.composition import Arrange
55
+ from plotnine.composition import Compose
56
56
  from plotnine.coords.coord import coord
57
57
  from plotnine.facets.facet import facet
58
58
  from plotnine.layer import layer
@@ -245,7 +245,7 @@ class ggplot:
245
245
  self = deepcopy(self)
246
246
  return self.__iadd__(rhs)
247
247
 
248
- def __or__(self, rhs: ggplot | Arrange) -> Arrange:
248
+ def __or__(self, rhs: ggplot | Compose) -> Compose:
249
249
  """
250
250
  Compose 2 plots columnwise
251
251
  """
@@ -253,7 +253,7 @@ class ggplot:
253
253
 
254
254
  return Beside([self, rhs])
255
255
 
256
- def __truediv__(self, rhs: ggplot | Arrange) -> Arrange:
256
+ def __truediv__(self, rhs: ggplot | Compose) -> Compose:
257
257
  """
258
258
  Compose 2 plots rowwise
259
259
  """
@@ -261,7 +261,7 @@ class ggplot:
261
261
 
262
262
  return Stack([self, rhs])
263
263
 
264
- def __sub__(self, rhs: ggplot | Arrange) -> Arrange:
264
+ def __sub__(self, rhs: ggplot | Compose) -> Compose:
265
265
  """
266
266
  Compose 2 plots columnwise
267
267
  """
plotnine/themes/theme.py CHANGED
@@ -72,7 +72,7 @@ class theme:
72
72
  ```
73
73
 
74
74
  will only modify the x-axis text.
75
- kwargs: dict
75
+ kwargs: Any
76
76
  kwargs are `themeables`. The themeables are elements that are
77
77
  subclasses of `themeable`. Many themeables are defined using
78
78
  theme elements i.e
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plotnine
3
- Version: 0.15.0a7
3
+ Version: 0.15.0a8
4
4
  Summary: A Grammar of Graphics for Python
5
5
  Author-email: Hassan Kibirige <has2k1@gmail.com>
6
6
  License: The MIT License (MIT)
@@ -2,7 +2,7 @@ plotnine/__init__.py,sha256=HrJhd65bnny1t-TawUgvApVj4p-gDZ0ftpr2NKZeW_s,10316
2
2
  plotnine/animation.py,sha256=izJZ4Gy0cBHEBc8ehofsWSWOzZW8UEroy1Uvw86Igb0,7521
3
3
  plotnine/doctools.py,sha256=JBF55q1MX2fXYQcGDpVrGPdlKf5OiQ5gyTdWhnM_IzU,14558
4
4
  plotnine/exceptions.py,sha256=SgTxBHkV65HjGI3aFy2q1_lHP9HAdiuxVLN3U-PJWSQ,1616
5
- plotnine/ggplot.py,sha256=Nl41v1zRUulyIBMzrzIE4IgIrHU0bicL2YH4x01wHt8,24457
5
+ plotnine/ggplot.py,sha256=7X0nvg9qng9cwv5O6Fz9SoNXjt1qkV4PET1Fd6o2Fx0,24457
6
6
  plotnine/helpers.py,sha256=4R3KZmtGH46-kRNSGOA0JxZaLKBo0ge8Vnx1cDQ8_gI,966
7
7
  plotnine/iapi.py,sha256=jNLmUSoh5g9kNdhOoXSqNcqOdd2-6xdWAmst-YGU41U,9095
8
8
  plotnine/labels.py,sha256=3pOXth2Xma_qCqB_xXAGIkPQ9gcaUaaFEAsa5if1iR0,2830
@@ -21,9 +21,9 @@ plotnine/_mpl/ticker.py,sha256=RY_7AdTggc7QBq9_t0KBJXg36oxKfB-Vtc9FzLnaGnQ,393
21
21
  plotnine/_mpl/transforms.py,sha256=DNaOlNq76xlT696sN8ot1bmYyp4mmrjXQHk3kTi4HIg,76
22
22
  plotnine/_mpl/utils.py,sha256=0GY3CWWXZiNHe333v9GAquRe5naO54JeiPt67-UvVYw,4147
23
23
  plotnine/_mpl/layout_manager/__init__.py,sha256=IXpPF5Oycc45uFpK4MJ6kcQCe1u5VUfnHLNZGcnrJCg,157
24
- plotnine/_mpl/layout_manager/_engine.py,sha256=m6FDFc1XELfzNSIXaFiN3ruoTgub2PaV3wPQWP0IBYE,2804
24
+ plotnine/_mpl/layout_manager/_engine.py,sha256=yOAEyv2n5KGt_oD8LYTS1GKJKczsNuWloGrscIblIjc,2804
25
25
  plotnine/_mpl/layout_manager/_layout_items.py,sha256=QikIoiYKDDfy2mrX9rZUIqD7Cy0ihfOyZHEs1ajF4CA,29710
26
- plotnine/_mpl/layout_manager/_layout_tree.py,sha256=sIIlwpdM7u-fFkOzZ6cnUwaz_7nLNxI6_BnPMZmtwMc,32065
26
+ plotnine/_mpl/layout_manager/_layout_tree.py,sha256=xJTPkhKcOY21qOBfFrxuDr1Xu5_kmgiIqReVLCf5Lyo,32065
27
27
  plotnine/_mpl/layout_manager/_spaces.py,sha256=5gSfYSoymH5prauGq1h9MZG4IlBbzd0-cSaS5RedMyU,38290
28
28
  plotnine/_utils/__init__.py,sha256=3tcSTng6Mtk1o6NPEikALHKD3ZGuAYofjQJREHX84a4,30992
29
29
  plotnine/_utils/context.py,sha256=HPQy_uyNXdS0s9URD7ZePyuc5hFU2XrRBLDTqRDLJzY,1708
@@ -32,12 +32,12 @@ plotnine/_utils/ipython.py,sha256=5Obr73xJ-4dzJEdBrFA8z9TXuxY7pIjKmzdTzWwnxNk,18
32
32
  plotnine/_utils/quarto.py,sha256=bwbU3ork8wuUIW5VDJ73J_DbWWzpYWpAd76cHMzCRao,890
33
33
  plotnine/_utils/registry.py,sha256=HoiB2NnbEHufXjYnVJyrJKflk2RwKtTYk2L3n7tH4XA,3321
34
34
  plotnine/_utils/yippie.py,sha256=DbmxvVrd34P24CCmOZrAulyGQ35rXNaSr8BuutS2Uio,2392
35
- plotnine/composition/__init__.py,sha256=WXkLaqbgpOquCbq_hakUUQlcIka9fN0IMKNm-DOns6E,198
36
- plotnine/composition/_arrange.py,sha256=p0Z3f63EwVvjtE9mKsRuVhQ3jY8ZEm3yBLJyZITCB1k,11591
37
- plotnine/composition/_beside.py,sha256=SBhxNRia5iqFwlUtMu9-4lcTOGZVlcjWM78geXKogaQ,1200
38
- plotnine/composition/_plot_spacer.py,sha256=YZr1b02RnNWTuRRHkbGaSjUKFyWM_5FFRWf-2mI6PTk,1513
35
+ plotnine/composition/__init__.py,sha256=yJSYKBDmHw9viTijLRaczD3LNpjOtx9nRGPg3PNIvpA,198
36
+ plotnine/composition/_beside.py,sha256=FGixQSqFuVYRj50MEUGYzhOr4LS85Qq9HrGZSORcnUM,1263
37
+ plotnine/composition/_compose.py,sha256=ZB0Xgx9BeDnSbTK0WXnfCXJm9QrVz9fifVVnkMjdi2o,13395
38
+ plotnine/composition/_plot_spacer.py,sha256=HcZQlK1TufDbayqSdW61OP9q5r9HVTCLX89_omCdEBo,1513
39
39
  plotnine/composition/_plotspec.py,sha256=0F7q7PjDMDqcallpnBdX3N2iSRjdBTyjSvMFf83uvPU,1015
40
- plotnine/composition/_stack.py,sha256=YoI052fFlaA3KO-_FkSf2N2SNK-WRqxdg_vzGAJ7m3I,1217
40
+ plotnine/composition/_stack.py,sha256=ihJpuPQcfNx_Cvzt8NvaO8ujmrPRbmS6x_apqXjhg1k,1280
41
41
  plotnine/coords/__init__.py,sha256=inM-9JwSPvYLlOy6opye0YV2EGWsI4708wGKdHvQvVM,301
42
42
  plotnine/coords/coord.py,sha256=Yu2xj4BqFBWlS0XHNDa6h8Dek0_PA6Lssv3M9EneSB8,6883
43
43
  plotnine/coords/coord_cartesian.py,sha256=vGeSFe9UyycUkbjdjoPNSQJwnnU7fEmsk0nl_oBvzxY,3038
@@ -192,7 +192,7 @@ plotnine/stats/stat_ydensity.py,sha256=_OVYc-QELPKMc24BvQaA9cPkfEoC_hW2teeo8yL8i
192
192
  plotnine/themes/__init__.py,sha256=tEKIF4gYmOF2Z1-_UDdK8zh41dLl-61HUGIhOQvki6I,916
193
193
  plotnine/themes/seaborn_rcmod.py,sha256=Pi-UX5LyH9teSuteYpqPOEnfLgKUz01LnKDyDA7Aois,15502
194
194
  plotnine/themes/targets.py,sha256=MjBRWWRgsLXXM_PJffPsV4DttQJB_m11jdD837BteuU,1686
195
- plotnine/themes/theme.py,sha256=x92XVDc7jNuQqaetbHM1tzkQ4dyM5dnNy-cZggGdf2c,16408
195
+ plotnine/themes/theme.py,sha256=Eu14IREf82NImvAdMLn9UAC4CpdLRrxAJJUTodLua2A,16407
196
196
  plotnine/themes/theme_538.py,sha256=hr0FaGAffZYU3m8o90WuUWntaPgI2O_eGiaBz259MiM,1088
197
197
  plotnine/themes/theme_bw.py,sha256=XXUt9KXEIkROiU0ZVIZicypneb-zL5K1cQFPqYd5WAI,1010
198
198
  plotnine/themes/theme_classic.py,sha256=B6QkU6blGnEY5iaiPtu4VsvFzC0peWSAhlKiC2SJSkM,923
@@ -214,8 +214,8 @@ plotnine/themes/elements/element_line.py,sha256=yZvj9B3M2a7a8o2J0n-q0uviNv34PtJV
214
214
  plotnine/themes/elements/element_rect.py,sha256=w5cLH-Sr4cTRXVdkRiu8kBqFt3TXHhIb1MUITfi89gE,1767
215
215
  plotnine/themes/elements/element_text.py,sha256=8yhwBa9s9JKCtBcqcBNybbCGK6ieDnZv4SHiC4Sy2qc,6255
216
216
  plotnine/themes/elements/margin.py,sha256=jMHe-UKHHer_VYwAVDC-Tz2-AP_4YDuXPTWAuacoqgU,4080
217
- plotnine-0.15.0a7.dist-info/licenses/LICENSE,sha256=GY4tQiUd17Tq3wWR42Zs9MRTFOTf6ahIXhZTcwAdOeU,1082
218
- plotnine-0.15.0a7.dist-info/METADATA,sha256=Dh5LX9Yv64P7G6-lf_4MCRXKqfZNohHHtWJ3NWSvu10,9407
219
- plotnine-0.15.0a7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
220
- plotnine-0.15.0a7.dist-info/top_level.txt,sha256=t340Mbko1ZbmvYPkQ81dIiPHcaQdTUszYz-bWUpr8ys,9
221
- plotnine-0.15.0a7.dist-info/RECORD,,
217
+ plotnine-0.15.0a8.dist-info/licenses/LICENSE,sha256=GY4tQiUd17Tq3wWR42Zs9MRTFOTf6ahIXhZTcwAdOeU,1082
218
+ plotnine-0.15.0a8.dist-info/METADATA,sha256=h_LK2Empr3AGuD4iOmRIA8E4BuyuyQnlaxuRTJ_Avsg,9407
219
+ plotnine-0.15.0a8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
220
+ plotnine-0.15.0a8.dist-info/top_level.txt,sha256=t340Mbko1ZbmvYPkQ81dIiPHcaQdTUszYz-bWUpr8ys,9
221
+ plotnine-0.15.0a8.dist-info/RECORD,,