plotnine 0.15.0.dev2__py3-none-any.whl → 0.15.1__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.
Files changed (140) hide show
  1. plotnine/__init__.py +2 -0
  2. plotnine/_mpl/layout_manager/_engine.py +1 -1
  3. plotnine/_mpl/layout_manager/_layout_items.py +128 -83
  4. plotnine/_mpl/layout_manager/_layout_tree.py +761 -310
  5. plotnine/_mpl/layout_manager/_spaces.py +320 -103
  6. plotnine/_mpl/patches.py +70 -34
  7. plotnine/_mpl/text.py +144 -63
  8. plotnine/_mpl/utils.py +1 -1
  9. plotnine/_utils/__init__.py +50 -107
  10. plotnine/_utils/context.py +78 -2
  11. plotnine/_utils/ipython.py +35 -51
  12. plotnine/_utils/quarto.py +21 -0
  13. plotnine/_utils/yippie.py +115 -0
  14. plotnine/composition/__init__.py +11 -0
  15. plotnine/composition/_beside.py +55 -0
  16. plotnine/composition/_compose.py +471 -0
  17. plotnine/composition/_plot_spacer.py +60 -0
  18. plotnine/composition/_stack.py +55 -0
  19. plotnine/coords/coord.py +3 -3
  20. plotnine/data/__init__.py +31 -0
  21. plotnine/data/anscombe-quartet.csv +45 -0
  22. plotnine/doctools.py +4 -4
  23. plotnine/facets/facet.py +4 -4
  24. plotnine/facets/strips.py +17 -28
  25. plotnine/geoms/annotate.py +13 -13
  26. plotnine/geoms/annotation_logticks.py +7 -8
  27. plotnine/geoms/annotation_stripes.py +6 -6
  28. plotnine/geoms/geom.py +60 -27
  29. plotnine/geoms/geom_abline.py +3 -2
  30. plotnine/geoms/geom_area.py +2 -2
  31. plotnine/geoms/geom_bar.py +11 -2
  32. plotnine/geoms/geom_bin_2d.py +6 -2
  33. plotnine/geoms/geom_blank.py +0 -3
  34. plotnine/geoms/geom_boxplot.py +8 -4
  35. plotnine/geoms/geom_col.py +8 -2
  36. plotnine/geoms/geom_count.py +6 -2
  37. plotnine/geoms/geom_crossbar.py +3 -3
  38. plotnine/geoms/geom_density_2d.py +6 -2
  39. plotnine/geoms/geom_dotplot.py +2 -2
  40. plotnine/geoms/geom_errorbar.py +2 -2
  41. plotnine/geoms/geom_errorbarh.py +2 -2
  42. plotnine/geoms/geom_histogram.py +1 -1
  43. plotnine/geoms/geom_hline.py +3 -2
  44. plotnine/geoms/geom_linerange.py +2 -2
  45. plotnine/geoms/geom_map.py +5 -5
  46. plotnine/geoms/geom_path.py +11 -12
  47. plotnine/geoms/geom_point.py +4 -5
  48. plotnine/geoms/geom_pointdensity.py +4 -0
  49. plotnine/geoms/geom_pointrange.py +3 -5
  50. plotnine/geoms/geom_polygon.py +2 -3
  51. plotnine/geoms/geom_qq.py +4 -0
  52. plotnine/geoms/geom_qq_line.py +4 -0
  53. plotnine/geoms/geom_quantile.py +4 -0
  54. plotnine/geoms/geom_raster.py +4 -5
  55. plotnine/geoms/geom_rect.py +3 -4
  56. plotnine/geoms/geom_ribbon.py +7 -7
  57. plotnine/geoms/geom_rug.py +1 -1
  58. plotnine/geoms/geom_segment.py +2 -2
  59. plotnine/geoms/geom_sina.py +3 -3
  60. plotnine/geoms/geom_smooth.py +7 -3
  61. plotnine/geoms/geom_step.py +2 -2
  62. plotnine/geoms/geom_text.py +2 -3
  63. plotnine/geoms/geom_violin.py +28 -8
  64. plotnine/geoms/geom_vline.py +3 -2
  65. plotnine/ggplot.py +64 -85
  66. plotnine/guides/guide.py +7 -10
  67. plotnine/guides/guide_colorbar.py +3 -3
  68. plotnine/guides/guide_legend.py +3 -3
  69. plotnine/guides/guides.py +6 -6
  70. plotnine/helpers.py +49 -0
  71. plotnine/iapi.py +28 -5
  72. plotnine/labels.py +3 -3
  73. plotnine/layer.py +36 -19
  74. plotnine/mapping/_atomic.py +178 -0
  75. plotnine/mapping/_env.py +13 -2
  76. plotnine/mapping/_eval_environment.py +85 -0
  77. plotnine/mapping/aes.py +91 -72
  78. plotnine/mapping/evaluation.py +7 -65
  79. plotnine/scales/__init__.py +2 -0
  80. plotnine/scales/limits.py +7 -7
  81. plotnine/scales/scale.py +3 -3
  82. plotnine/scales/scale_color.py +82 -18
  83. plotnine/scales/scale_continuous.py +6 -4
  84. plotnine/scales/scale_datetime.py +28 -14
  85. plotnine/scales/scale_discrete.py +1 -1
  86. plotnine/scales/scale_identity.py +21 -2
  87. plotnine/scales/scale_manual.py +8 -2
  88. plotnine/scales/scale_xy.py +2 -2
  89. plotnine/stats/binning.py +4 -1
  90. plotnine/stats/smoothers.py +23 -36
  91. plotnine/stats/stat.py +20 -32
  92. plotnine/stats/stat_bin.py +6 -5
  93. plotnine/stats/stat_bin_2d.py +11 -9
  94. plotnine/stats/stat_bindot.py +13 -16
  95. plotnine/stats/stat_boxplot.py +6 -6
  96. plotnine/stats/stat_count.py +6 -9
  97. plotnine/stats/stat_density.py +7 -10
  98. plotnine/stats/stat_density_2d.py +12 -8
  99. plotnine/stats/stat_ecdf.py +7 -6
  100. plotnine/stats/stat_ellipse.py +9 -6
  101. plotnine/stats/stat_function.py +10 -8
  102. plotnine/stats/stat_hull.py +6 -3
  103. plotnine/stats/stat_identity.py +5 -2
  104. plotnine/stats/stat_pointdensity.py +5 -7
  105. plotnine/stats/stat_qq.py +46 -20
  106. plotnine/stats/stat_qq_line.py +16 -11
  107. plotnine/stats/stat_quantile.py +15 -9
  108. plotnine/stats/stat_sina.py +45 -14
  109. plotnine/stats/stat_smooth.py +8 -10
  110. plotnine/stats/stat_sum.py +5 -2
  111. plotnine/stats/stat_summary.py +7 -10
  112. plotnine/stats/stat_summary_bin.py +11 -14
  113. plotnine/stats/stat_unique.py +5 -2
  114. plotnine/stats/stat_ydensity.py +8 -11
  115. plotnine/themes/elements/__init__.py +2 -1
  116. plotnine/themes/elements/element_line.py +17 -9
  117. plotnine/themes/elements/margin.py +64 -1
  118. plotnine/themes/theme.py +9 -1
  119. plotnine/themes/theme_538.py +0 -1
  120. plotnine/themes/theme_bw.py +0 -1
  121. plotnine/themes/theme_dark.py +0 -1
  122. plotnine/themes/theme_gray.py +6 -5
  123. plotnine/themes/theme_light.py +1 -1
  124. plotnine/themes/theme_matplotlib.py +5 -5
  125. plotnine/themes/theme_seaborn.py +7 -4
  126. plotnine/themes/theme_void.py +9 -8
  127. plotnine/themes/theme_xkcd.py +0 -1
  128. plotnine/themes/themeable.py +110 -32
  129. plotnine/typing.py +17 -6
  130. plotnine/watermark.py +3 -3
  131. {plotnine-0.15.0.dev2.dist-info → plotnine-0.15.1.dist-info}/METADATA +13 -6
  132. plotnine-0.15.1.dist-info/RECORD +221 -0
  133. {plotnine-0.15.0.dev2.dist-info → plotnine-0.15.1.dist-info}/WHEEL +1 -1
  134. plotnine/plot_composition/__init__.py +0 -10
  135. plotnine/plot_composition/_compose.py +0 -436
  136. plotnine/plot_composition/_spacer.py +0 -32
  137. plotnine-0.15.0.dev2.dist-info/RECORD +0 -214
  138. /plotnine/{plot_composition → composition}/_plotspec.py +0 -0
  139. {plotnine-0.15.0.dev2.dist-info → plotnine-0.15.1.dist-info}/licenses/LICENSE +0 -0
  140. {plotnine-0.15.0.dev2.dist-info → plotnine-0.15.1.dist-info}/top_level.txt +0 -0
@@ -1,436 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from copy import deepcopy
4
- from dataclasses import dataclass
5
- from io import BytesIO
6
- from typing import TYPE_CHECKING
7
-
8
- from .._utils.ipython import (
9
- get_display_function,
10
- get_ipython,
11
- )
12
- from ..options import get_option
13
- from ._plotspec import plotspec
14
-
15
- if TYPE_CHECKING:
16
- from pathlib import Path
17
- from typing import Generator, Iterator, Self
18
-
19
- from matplotlib.figure import Figure
20
-
21
- from plotnine._mpl.gridspec import p9GridSpec
22
- from plotnine._utils.ipython import FigureFormat
23
- from plotnine.ggplot import PlotAddable, ggplot
24
-
25
-
26
- class Compose:
27
- """
28
- Arrange two or more plots
29
-
30
- Parameters
31
- ----------
32
- operands:
33
- The objects to be put together (composed).
34
- """
35
-
36
- def __init__(self, operands: list[ggplot | Compose]):
37
- self.operands = operands
38
-
39
- # These are created in the _create_figure method
40
- self.figure: Figure
41
- self.plotspecs: list[plotspec]
42
- self.gridspec: p9GridSpec
43
-
44
- def __add__(self, rhs: ggplot | Compose) -> Compose:
45
- """
46
- Add rhs to the composition
47
-
48
- Parameters
49
- ----------
50
- rhs:
51
- What to add to the composition
52
- """
53
- return self.__class__([*self, rhs])
54
-
55
- def __sub__(self, rhs: ggplot | Compose) -> Compose:
56
- """
57
- Add the rhs besides the composition
58
-
59
- Parameters
60
- ----------
61
- rhs:
62
- What to place besides the composition
63
- """
64
- return self.__class__([self, rhs])
65
-
66
- def __and__(self, rhs: PlotAddable) -> Compose:
67
- """
68
- Add rhs to all plots in the composition
69
-
70
- Parameters
71
- ----------
72
- rhs:
73
- What to add.
74
- """
75
- self = deepcopy(self)
76
-
77
- def add_other(op: Compose):
78
- for item in op:
79
- if isinstance(item, Compose):
80
- add_other(item)
81
- else:
82
- item += rhs
83
-
84
- add_other(self)
85
- return self
86
-
87
- def __mul__(self, rhs: PlotAddable) -> Compose:
88
- """
89
- Add rhs to the outermost nesting level of the composition
90
-
91
- Parameters
92
- ----------
93
- rhs:
94
- What to add.
95
- """
96
- from plotnine import ggplot
97
-
98
- self = deepcopy(self)
99
-
100
- for item in self:
101
- if isinstance(item, ggplot):
102
- item += rhs
103
- return self
104
-
105
- def __len__(self) -> int:
106
- """
107
- Number of operand
108
- """
109
- return len(self.operands)
110
-
111
- def __iter__(self) -> Iterator[ggplot | Compose]:
112
- """
113
- Return an iterable of all the operands
114
- """
115
- return iter(self.operands)
116
-
117
- def _ipython_display_(self):
118
- """
119
- Display plot in the output of the cell
120
- """
121
- return self._display()
122
-
123
- @property
124
- def nrow(self) -> int:
125
- """
126
- Number of rows in the composition
127
- """
128
- return 0
129
-
130
- @property
131
- def ncol(self) -> int:
132
- """
133
- Number of cols in the composition
134
- """
135
- return 0
136
-
137
- @property
138
- def last_plot(self):
139
- """
140
- Last plot added to the composition
141
- """
142
- from plotnine import ggplot
143
-
144
- last_operand = self.operands[-1]
145
- if isinstance(last_operand, ggplot):
146
- return last_operand
147
- else:
148
- return last_operand.last_plot
149
-
150
- def __deepcopy__(self, memo):
151
- """
152
- Deep copy without copying the figure
153
- """
154
- cls = self.__class__
155
- result = cls.__new__(cls)
156
- memo[id(self)] = result
157
- old = self.__dict__
158
- new = result.__dict__
159
-
160
- shallow = {"figure", "gridsspec", "__copy"}
161
- for key, item in old.items():
162
- if key in shallow:
163
- new[key] = item
164
- memo[id(new[key])] = new[key]
165
- else:
166
- new[key] = deepcopy(item, memo)
167
-
168
- old["__copy"] = result
169
-
170
- return result
171
-
172
- def _to_retina(self):
173
- from plotnine import ggplot
174
-
175
- for item in self:
176
- if isinstance(item, ggplot):
177
- item.theme = item.theme.to_retina()
178
- else:
179
- item._to_retina()
180
-
181
- def _create_gridspec(self, figure, nest_into):
182
- """
183
- Create the gridspec for this composition
184
- """
185
- from plotnine._mpl.gridspec import p9GridSpec
186
-
187
- self.gridspec = p9GridSpec(
188
- self.nrow, self.ncol, figure, nest_into=nest_into
189
- )
190
-
191
- def _create_figure(self):
192
- import matplotlib.pyplot as plt
193
-
194
- from plotnine import ggplot
195
- from plotnine._mpl.gridspec import p9GridSpec
196
-
197
- def _make_plotspecs(
198
- cmp: Compose, parent_gridspec: p9GridSpec | None
199
- ) -> Generator[plotspec]:
200
- """
201
- Return the plot specification for each subplot in the composition
202
- """
203
- # This gridspec contains a composition group e.g.
204
- # (p2 | p3) of p1 | (p2 | p3)
205
- ss_or_none = parent_gridspec[0] if parent_gridspec else None
206
- cmp._create_gridspec(self.figure, ss_or_none)
207
-
208
- # Each subplot in the composition will contain one of:
209
- # 1. A plot
210
- # 2. A plot composition
211
- # 3. Nothing
212
- # Iterating over the gridspec yields the SubplotSpecs for each
213
- # "subplot" in the grid. The SubplotSpec is the handle that
214
- # allows us to set it up for a plot or to nest another gridspec
215
- # in it.
216
- for item, subplot_spec in zip(cmp, cmp.gridspec): # pyright: ignore[reportArgumentType]
217
- if isinstance(item, ggplot):
218
- yield plotspec(
219
- item,
220
- self.figure,
221
- cmp.gridspec,
222
- subplot_spec,
223
- p9GridSpec(1, 1, self.figure, nest_into=subplot_spec),
224
- )
225
- elif item:
226
- yield from _make_plotspecs(
227
- item,
228
- p9GridSpec(1, 1, self.figure, nest_into=subplot_spec),
229
- )
230
-
231
- self.figure = plt.figure()
232
- self.plotspecs = list(_make_plotspecs(self, None))
233
-
234
- def _display(self):
235
- """
236
- Display plot in the cells output
237
-
238
- This function is called for its side-effects.
239
-
240
- It draws the plot to an io buffer then uses ipython display
241
- methods to show the result.
242
- """
243
- ip = get_ipython()
244
- format: FigureFormat = get_option(
245
- "figure_format"
246
- ) or ip.config.InlineBackend.get("figure_format", "retina")
247
-
248
- if format == "retina":
249
- self = deepcopy(self)
250
- self._to_retina()
251
-
252
- buf = BytesIO()
253
- self.save(buf, "png" if format == "retina" else format)
254
- figure_size_px = self.last_plot.theme._figure_size_px
255
- display_func = get_display_function(format, figure_size_px)
256
- display_func(buf.getvalue())
257
-
258
- def draw(self, *, show: bool = False) -> Figure:
259
- """
260
- Render the composed plots
261
-
262
- Parameters
263
- ----------
264
- show :
265
- Whether to show the plot.
266
-
267
- Returns
268
- -------
269
- :
270
- Matplotlib figure
271
- """
272
- from .._mpl.layout_manager import PlotnineCompositionLayoutEngine
273
-
274
- with plot_composition_context(self, show):
275
- self._create_figure()
276
- figure = self.figure
277
-
278
- for ps in self.plotspecs:
279
- ps.plot.draw()
280
-
281
- self.figure.set_layout_engine(
282
- PlotnineCompositionLayoutEngine(self)
283
- )
284
- return figure
285
-
286
- def save(self, filename: str | Path | BytesIO, format: str | None = None):
287
- """
288
- Save a Compose object as an image file
289
-
290
- Parameters
291
- ----------
292
- filename :
293
- File name to write the plot to. If not specified, a name
294
- format :
295
- Image format to use, automatically extract from
296
- file name extension.
297
- """
298
- figure = self.draw()
299
- figure.savefig(filename, format=format)
300
-
301
-
302
- @dataclass
303
- class plot_composition_context:
304
- cmp: Compose
305
- show: bool
306
-
307
- def __post_init__(self):
308
- import matplotlib as mpl
309
-
310
- # The dpi is needed when the figure is created, either as
311
- # a parameter to plt.figure() or an rcParam.
312
- # https://github.com/matplotlib/matplotlib/issues/24644
313
- # When drawing the Composition, the dpi themeable is infective
314
- # because it sets the rcParam after this figure is created.
315
- rcParams = {"figure.dpi": self.cmp.last_plot.theme.getp("dpi")}
316
- self._rc_context = mpl.rc_context(rcParams)
317
-
318
- def __enter__(self) -> Self:
319
- """
320
- Enclose in matplolib & pandas environments
321
- """
322
- self._rc_context.__enter__()
323
- return self
324
-
325
- def __exit__(self, exc_type, exc_value, exc_traceback):
326
- import matplotlib.pyplot as plt
327
-
328
- if exc_type is None:
329
- if self.show:
330
- plt.show()
331
- else:
332
- plt.close(self.cmp.figure)
333
- else:
334
- # There is an exception, close any figure
335
- if hasattr(self.cmp, "figure"):
336
- plt.close(self.cmp.figure)
337
-
338
- self._rc_context.__exit__(exc_type, exc_value, exc_traceback)
339
-
340
-
341
- class OR(Compose):
342
- """
343
- Compose by adding a column
344
- """
345
-
346
- @property
347
- def nrow(self) -> int:
348
- return 1
349
-
350
- @property
351
- def ncol(self) -> int:
352
- return len(self)
353
-
354
- def __or__(self, rhs: ggplot | Compose) -> Compose:
355
- """
356
- Add rhs as a column
357
- """
358
- # This is an adjacent or i.e. (OR | rhs) so we collapse the
359
- # operands into a single operation
360
- return OR([*self, rhs])
361
-
362
- def __truediv__(self, rhs: ggplot | Compose) -> Compose:
363
- """
364
- Add rhs as a row
365
- """
366
- return DIV([self, rhs])
367
-
368
-
369
- class DIV(Compose):
370
- """
371
- Compose by adding a row
372
- """
373
-
374
- @property
375
- def nrow(self) -> int:
376
- return len(self)
377
-
378
- @property
379
- def ncol(self) -> int:
380
- return 1
381
-
382
- def __truediv__(self, rhs: ggplot | Compose) -> Compose:
383
- """
384
- Add rhs as a row
385
- """
386
- # This is an adjacent div i.e. (DIV | rhs) so we collapse the
387
- # operands into a single operation
388
- return DIV([*self, rhs])
389
-
390
- def __or__(self, rhs: ggplot | Compose) -> Compose:
391
- """
392
- Add rhs as a column
393
- """
394
- return OR([self, rhs])
395
-
396
-
397
- class ADD(Compose):
398
- """
399
- Compose by adding
400
- """
401
-
402
- @property
403
- def nrow(self) -> int:
404
- from plotnine.facets.facet_wrap import wrap_dims
405
-
406
- return wrap_dims(len(self))[0]
407
-
408
- @property
409
- def ncol(self) -> int:
410
- from plotnine.facets.facet_wrap import wrap_dims
411
-
412
- return wrap_dims(len(self))[1]
413
-
414
- def __add__(self, rhs: ggplot | Compose) -> Compose:
415
- """
416
- Add rhs to the Composed group
417
- """
418
- return ADD([*self, rhs])
419
-
420
- def __or__(self, rhs: ggplot | Compose) -> Compose:
421
- """
422
- Add rhs as a column
423
- """
424
- return OR([self, rhs])
425
-
426
- def __truediv__(self, rhs: ggplot | Compose) -> Compose:
427
- """
428
- Add rhs as a row
429
- """
430
- return DIV([self, rhs])
431
-
432
- def __sub__(self, rhs: ggplot | Compose) -> Compose:
433
- """
434
- Add rhs as a column
435
- """
436
- return OR([self, rhs])
@@ -1,32 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from copy import deepcopy
4
-
5
- from plotnine import element_rect, ggplot, theme, theme_void
6
-
7
-
8
- class spacer(ggplot):
9
- """
10
- An empty plot
11
- """
12
-
13
- def __init__(self):
14
- super().__init__()
15
- self.theme = theme_void()
16
-
17
- def __add__(self, rhs) -> spacer: # pyright: ignore[reportIncompatibleMethodOverride]
18
- """
19
- Add to spacer
20
-
21
- All added objects are no ops except the plot_background,
22
- i.e.:
23
-
24
- theme(plot_background=element_rect(fill="red"))
25
- """
26
- self = deepcopy(self)
27
- if isinstance(rhs, theme):
28
- fill = rhs.getp(("plot_background", "facecolor"))
29
- self.theme += theme(
30
- plot_background=element_rect(fill=fill),
31
- )
32
- return self
@@ -1,214 +0,0 @@
1
- plotnine/__init__.py,sha256=HrJhd65bnny1t-TawUgvApVj4p-gDZ0ftpr2NKZeW_s,10316
2
- plotnine/animation.py,sha256=izJZ4Gy0cBHEBc8ehofsWSWOzZW8UEroy1Uvw86Igb0,7521
3
- plotnine/doctools.py,sha256=OoPKtbFNkhQ6vKk8NfivC_xKPSvwBWvNo5-ZHS8tRAk,14540
4
- plotnine/exceptions.py,sha256=SgTxBHkV65HjGI3aFy2q1_lHP9HAdiuxVLN3U-PJWSQ,1616
5
- plotnine/ggplot.py,sha256=oMeAwsYDVhpsFV1VhxYes-0bgAPmlAE8py_eI92Xlbo,24822
6
- plotnine/iapi.py,sha256=GZfXYS6JKyc8J2DB-QuSdtG_WGjBeR2vZP6ERYPUlrg,8420
7
- plotnine/labels.py,sha256=Ja1F0ZN5YxNjaWiAckc-jniMqXdnZxHCsqK5uudpx1s,2827
8
- plotnine/layer.py,sha256=r46mX4Sh_M2sHSpLcnf9UL-zc4ANuXvK8HRCQeWcya4,16749
9
- plotnine/options.py,sha256=j3zXv4wc3J4nOI_TqJ5s_abuifodt_UN8MR8M4i8UVA,3108
10
- plotnine/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- plotnine/qplot.py,sha256=BSAb4u5I7PaPGofkAgx7brdCNTjMZvC_TDGHVUZ35xM,7384
12
- plotnine/typing.py,sha256=p99BI4XQPsESqK1lg8V2lYeHgqNSQVbCxsfP1PLWhUw,3801
13
- plotnine/watermark.py,sha256=_SLjhiQquB0Vd_b5t_7-mUCvrbiN86tUYbBqU76JcSM,1506
14
- plotnine/_mpl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- plotnine/_mpl/gridspec.py,sha256=OvlXchYXam1c1n8iNPKu4fJr6rqmH7OWebhJX5qqOmY,7903
16
- plotnine/_mpl/offsetbox.py,sha256=E7810lS9W7Gexwz5mkSMz7PQXXHkYX-WHKlPHqapmTg,3216
17
- plotnine/_mpl/patches.py,sha256=DLIFn4BFqrv0FXtbtloNWE5kaJRq85Q_8vz21sMJxuU,2568
18
- plotnine/_mpl/text.py,sha256=0rkIi69Yd3qX9yg4f3wfaDY8tky1HZXkZFA0575Di_c,3822
19
- plotnine/_mpl/ticker.py,sha256=RY_7AdTggc7QBq9_t0KBJXg36oxKfB-Vtc9FzLnaGnQ,393
20
- plotnine/_mpl/transforms.py,sha256=DNaOlNq76xlT696sN8ot1bmYyp4mmrjXQHk3kTi4HIg,76
21
- plotnine/_mpl/utils.py,sha256=c9wkxxUEweDg6O0hdgZonNOFncwxkqFye8_bL7td7I4,4131
22
- plotnine/_mpl/layout_manager/__init__.py,sha256=IXpPF5Oycc45uFpK4MJ6kcQCe1u5VUfnHLNZGcnrJCg,157
23
- plotnine/_mpl/layout_manager/_engine.py,sha256=ESUvbLAlZApFbBi6w7gZA7S4guS0Rmrj-us-gzYP2ZM,2809
24
- plotnine/_mpl/layout_manager/_layout_items.py,sha256=9wkXgCa66yCCYtpF_e0n0ORGuGGwDmEmPnNrkv-QbEg,28360
25
- plotnine/_mpl/layout_manager/_layout_tree.py,sha256=Cm2-udh5DQ8cxIZwefRkRp1ddgtJp8kvMYKeWBasHVU,18061
26
- plotnine/_mpl/layout_manager/_spaces.py,sha256=8ydStHv0O1b6JBdtBXbHkSrGzklMgutMUfgwB0lH_Dk,31866
27
- plotnine/_utils/__init__.py,sha256=9RVYfwi9NmDGGzprUlE40yv9tJhW_VDAZkUKTTuvN7g,32473
28
- plotnine/_utils/context.py,sha256=HPQy_uyNXdS0s9URD7ZePyuc5hFU2XrRBLDTqRDLJzY,1708
29
- plotnine/_utils/dev.py,sha256=0qgRbMhcd4dfuLuYxx0skocKAtfwHF02ntyILRBogbg,1629
30
- plotnine/_utils/ipython.py,sha256=5Obr73xJ-4dzJEdBrFA8z9TXuxY7pIjKmzdTzWwnxNk,1884
31
- plotnine/_utils/quarto.py,sha256=bwbU3ork8wuUIW5VDJ73J_DbWWzpYWpAd76cHMzCRao,890
32
- plotnine/_utils/registry.py,sha256=HoiB2NnbEHufXjYnVJyrJKflk2RwKtTYk2L3n7tH4XA,3321
33
- plotnine/coords/__init__.py,sha256=inM-9JwSPvYLlOy6opye0YV2EGWsI4708wGKdHvQvVM,301
34
- plotnine/coords/coord.py,sha256=czFYR1qTKA-BcIyaL9l3pfzkIYM2pKwYAiTPbJtvSWQ,6880
35
- plotnine/coords/coord_cartesian.py,sha256=vGeSFe9UyycUkbjdjoPNSQJwnnU7fEmsk0nl_oBvzxY,3038
36
- plotnine/coords/coord_fixed.py,sha256=C9aIy28GQHE4XJQ3I1LhnHviUmhBia7dk64eBVNftLw,1763
37
- plotnine/coords/coord_flip.py,sha256=lskU4t72pMmtWL16slw3CV8bLPfTNONCmO_A1d0g5Rs,2891
38
- plotnine/coords/coord_trans.py,sha256=g6Scq9q_78bHBV6McHMQfFM4KPBVcz9bjpnNx7eMyz0,4750
39
- plotnine/data/__init__.py,sha256=roWstfVMSE7ThDsySeSQeopO7vOvo5K7o4nYyACRY5w,21316
40
- plotnine/data/diamonds.csv,sha256=lXRzCwOrokHYmcSpdRHFBhsZNY-riVEHdPtsJBaDRcQ,2772143
41
- plotnine/data/economics.csv,sha256=cWSbwFV6yqb7jYiKrwSCY-rz43icVHwQ_7fVXGksQeM,21860
42
- plotnine/data/economics_long.csv,sha256=ukh3n2MqY_rPEeNYy1PgryqJZfeS2AEKjSddnVJ0rdg,123339
43
- plotnine/data/faithful.csv,sha256=Xfz0Idy0fV62rkE7nRnO6cRn0NhRrWaWy4ovnGEdZ60,2470
44
- plotnine/data/faithfuld.csv,sha256=U2LleBDYmogQb_kDeil2v__YHUCubh8bgzFjyrOdIg4,298297
45
- plotnine/data/huron.csv,sha256=Sl2-tTPUj4rNEgm8qfF3UIquLAEjQaWShYgv8_gDYLk,1678
46
- plotnine/data/luv_colours.csv,sha256=L-c3aEHMJPZNcdDKqqU0b90W5FM4UtbEe-Np29LOKRQ,39004
47
- plotnine/data/meat.csv,sha256=tYfB51iuQ9h_6G-sDvxz2kCq6vQEbro3D3D87VVFZKU,46284
48
- plotnine/data/midwest.csv,sha256=FOhp7_w4R-gHqCZJlM5c59-RNbiV07WaIt881IKPt0A,98022
49
- plotnine/data/mpg.csv,sha256=FpX7FxpCJOxfkCZS9ghMRr1Sisv1Anj4O6gQTON0Mzw,16046
50
- plotnine/data/msleep.csv,sha256=Cm5ArhLjOFXbU5Ubo3slSyZgv36TCjMECQY9L9dY2GM,6773
51
- plotnine/data/mtcars.csv,sha256=CnukZ_Qy9KxNmHb_RBhBj4J5WefTIWNMBmr-PQqxkaQ,1787
52
- plotnine/data/pageviews.csv,sha256=Ydz7c4NO6AqLqJOxR2_9y2QRFtRV0q2xvSUby6siwTk,13559
53
- plotnine/data/penguins.csv,sha256=GGendqgzed9CGfInux7_uWfaEq2xNzISfIyNEgQ0wps,15203
54
- plotnine/data/presidential.csv,sha256=jkUSy3wUSYpo1Vdj90U8ivSE1TLL_ztxvtqIVa7C1Wc,511
55
- plotnine/data/seals.csv,sha256=VEuSEBLz3Fj14eBdM6hp6M6GpH2lqN5ekT_d2Mk1rK0,57035
56
- plotnine/data/txhousing.csv,sha256=RdHoH5W9bud_DzsefIc8yNOFaxMl6IDDKMiP68aoIoY,523993
57
- plotnine/facets/__init__.py,sha256=9P2MBA8MF1cRpk7YRQUcYN2UY7kZ9qrZc_0Qm9SRguk,393
58
- plotnine/facets/facet.py,sha256=myAJ4llRpRFDV2ZZKT7AW4Bn-CRxy4Cvke40HtCK4Mo,18185
59
- plotnine/facets/facet_grid.py,sha256=sK50Syzt2sy5aE3hObBC4TdQwCwyY-EtDUK2_B6aDnM,11755
60
- plotnine/facets/facet_null.py,sha256=J--RdOvFP7AE0jK79-LNRksvCJExQTpS-tU5i0pGqs8,749
61
- plotnine/facets/facet_wrap.py,sha256=NOoNdkaSb1y_ho6UygGkDih7zlQYXcEgJYK0Lqu6e98,8805
62
- plotnine/facets/labelling.py,sha256=JEuwERTK0IfmxTWHbl2nsGgxZ6xi0n2TTWT4_OSfQcQ,8833
63
- plotnine/facets/layout.py,sha256=TIkMChA0wJWLKN31PH0czS6CN4pw3o--PF49LakJ2h4,8967
64
- plotnine/facets/strips.py,sha256=7K_SLVLhlb2-E-JNCZWOamFbC-yKLJ0yuqbwNoElLXk,6154
65
- plotnine/geoms/__init__.py,sha256=HEfhNmmNH4xm4rpXnFRXY4eLkJha3XPM72IIwVjv5Lc,2697
66
- plotnine/geoms/annotate.py,sha256=5sCHIMR_GjM2ujNY73i4iBczOkGi-vq1Nr1Yc3cBgZo,4022
67
- plotnine/geoms/annotation_logticks.py,sha256=2_ILqE2cgX2acFoGZPDnbTJ0V7b3-ALVjno71FQuuxE,8953
68
- plotnine/geoms/annotation_stripes.py,sha256=6LpfWzyAS6xpzTfIPorhZaVBL9j6jiSIoyVWViJVkbA,6037
69
- plotnine/geoms/geom.py,sha256=kn3ekM968Xx3nmRRQxI1sGcEl44LBv8E3m4nUC4njMI,16549
70
- plotnine/geoms/geom_abline.py,sha256=Q9FNVIQMLr5Xq-fsGD8H17D6f8uOdOhGoDoMI-GTqU4,3178
71
- plotnine/geoms/geom_area.py,sha256=wvQ4nNvhJNN3nfn6Bv1gCARC6IWTjOjOfHPfSmg6Sxc,818
72
- plotnine/geoms/geom_bar.py,sha256=-N25T6diAE_kwRkmTXxF1NvgflGwviqvWpFLoFiclkI,1358
73
- plotnine/geoms/geom_bin_2d.py,sha256=b2fAQVywug-ey3KtqeOoYQ2RNRSRE_fa4s7M41W-_FE,574
74
- plotnine/geoms/geom_blank.py,sha256=au-WTJRdOcSfq_qQ6TugrSzjAweZfTElH9l8yYrmZ0I,821
75
- plotnine/geoms/geom_boxplot.py,sha256=m9vrF4i4Cw_NGxZ9WLVPsDxbqQ3jJFtnJ-UrtE3teCI,9775
76
- plotnine/geoms/geom_col.py,sha256=UTdMmpGIjVNyB7BIH9b90LiS8iuf9sChCG20EgWY3Ao,870
77
- plotnine/geoms/geom_count.py,sha256=IRIlQqwt0kIHf9swYZbFqd5RSQCYRyFKm5hp1C9xHB4,511
78
- plotnine/geoms/geom_crossbar.py,sha256=-TN5UohaMNYPjYavbvW9feyW_fR-CBxFqyvSSrPIYZQ,6237
79
- plotnine/geoms/geom_density.py,sha256=UwUkJxI79L3z19tmoSI6ZYs418XTbRznd-Abzrec3VY,526
80
- plotnine/geoms/geom_density_2d.py,sha256=V37QYpdZpZvYxishlN1UBmyyRC3U2eOqR-gaIPxQqS4,400
81
- plotnine/geoms/geom_dotplot.py,sha256=dcQwuUldoibIHc7DD01Tx_bD6pgqm8lz9TBQ3HbloRM,8671
82
- plotnine/geoms/geom_errorbar.py,sha256=ZFZf9fzd9FLPAuCHZ-H_l-PMRM4CFFIkVB_xTY_EoiQ,2192
83
- plotnine/geoms/geom_errorbarh.py,sha256=FMl_PdppiBXUj1ChhtOPWsOQHKg8HxyYUCjuL0HxQyA,2206
84
- plotnine/geoms/geom_freqpoly.py,sha256=lsr1dwZyR6gUbzl5SNJ5yYklsWGjkqYYAe3Mb8AWynk,339
85
- plotnine/geoms/geom_histogram.py,sha256=JnqHJb7HISQKnH2XwW6JOB8g462yGH1nMMYxbtwvqtY,329
86
- plotnine/geoms/geom_hline.py,sha256=0LkUi68q5IUoaQxqnWAxKpFiP3sPr2QsH6uMQpC8k-k,2471
87
- plotnine/geoms/geom_jitter.py,sha256=mJCLt2SoZN_tx_3XS8oF5JojtL2m5HO1bEqdN-JEPUg,2291
88
- plotnine/geoms/geom_label.py,sha256=lPxmDlS6VgEHqD3Ac1Q-Zxs75JcnduoXjJ_D1AzzWew,2835
89
- plotnine/geoms/geom_line.py,sha256=IzKVPwF_Oe3uwRpuh5Xu9LFvz0XcKqCL4pN03iGHBdk,522
90
- plotnine/geoms/geom_linerange.py,sha256=xfysK1fJcLm-_8odQYmzzEhlccO-d7NHfMtVBr1bbGQ,1275
91
- plotnine/geoms/geom_map.py,sha256=Py7iNoFapwftCSK7UMwkTOeTd3_8vWStVuB12tInjOo,9600
92
- plotnine/geoms/geom_path.py,sha256=OejXwgW5s9kZpGQ2sdux8lcLVI_Ncwf3Q1QUCLo8xTw,17127
93
- plotnine/geoms/geom_point.py,sha256=Y7eDpRoCR3EKDujsVPMG_EK9o1-wTfrgpuRJ0cjCTLs,4611
94
- plotnine/geoms/geom_pointdensity.py,sha256=TKaxAUPwdrVMw0MVYe14apBsRfW_5_zXFLSlOS60Zlw,372
95
- plotnine/geoms/geom_pointrange.py,sha256=CvuMVHiYcv6giBb3b2A5KkAykLHMlM_CaQXBmOlCHGw,2624
96
- plotnine/geoms/geom_polygon.py,sha256=ry_aQzgpog6ibe-13JQltltE7U4NFLElWqc9BtevpGc,4160
97
- plotnine/geoms/geom_qq.py,sha256=uimpCvBrJhMscglVzI7cUAnAC3ZRs7nqXyGilq1ipkw,294
98
- plotnine/geoms/geom_qq_line.py,sha256=i0L9if-JxTr2heYUpIqV_cZ4qMiB7Om6EOurR76nFhg,337
99
- plotnine/geoms/geom_quantile.py,sha256=rcYmyO062IFASBoYZEE31KtHKSVkWNwF-upbBp9AgAU,806
100
- plotnine/geoms/geom_raster.py,sha256=AyzNbJanvS0tyx1nXZ7utZvmJjRvYEsMT8AuyiCAup8,6269
101
- plotnine/geoms/geom_rect.py,sha256=-IWtp20iz1lN2zWlT2O8_2rp_ZoFG2AiSAVn619Vnek,3725
102
- plotnine/geoms/geom_ribbon.py,sha256=2L7-ElZRud7AYroKlSnQQVlEP2fTtzVlOpxnmX_fFjs,5752
103
- plotnine/geoms/geom_rug.py,sha256=TMOvKmcOq_Z2mpRy4YrlsjjNt5A2Oy58F55xO78IYtE,3511
104
- plotnine/geoms/geom_segment.py,sha256=KU6jCaU2a8X7OI9WHQevLgQQBqmBjYnI3j4jV9fOqhU,3045
105
- plotnine/geoms/geom_sina.py,sha256=oyCiBCdsWjrSNaS2jOpu0Ng8nEl_peaCT-EuHE9jG34,912
106
- plotnine/geoms/geom_smooth.py,sha256=LE8H6kMlQdLiwLgMfIZYWh8TCFyMbYM7nXwlV2kLzT8,3540
107
- plotnine/geoms/geom_spoke.py,sha256=s-kug0H-YGhyjso9W43XvzJf9-g6inh8zzuSFeXzSaU,977
108
- plotnine/geoms/geom_step.py,sha256=oKi2lWG7M2lGpF4G0yC7_5qn5tb-gc3o4H-pu3_wS64,2364
109
- plotnine/geoms/geom_text.py,sha256=CqmjsOJsAsIsTm6SkVJt0gms363AXpLN_JCTpuK6Krw,11908
110
- plotnine/geoms/geom_tile.py,sha256=3x9BSxaSr-ys6N5R2wY8B9fNiyV9vMdoXbjIDqHy_ng,1431
111
- plotnine/geoms/geom_violin.py,sha256=-lXdHQjrPAQXvFEviGi9iJqU_8L6_YrYYXwg62-8N58,6545
112
- plotnine/geoms/geom_vline.py,sha256=qKUd4IosH1VrwHbqNbs29kZyIW5lQRa_LZLRcLbPg38,3377
113
- plotnine/guides/__init__.py,sha256=ulI-mDhtq3jAQEAqPv8clrn3UHGFOu3xRuO7jXlq-LY,201
114
- plotnine/guides/guide.py,sha256=L1O26atzSjiQR-YW9w3XEcH0BDFiqthdY6wA6DAOapo,8229
115
- plotnine/guides/guide_axis.py,sha256=zG_5Ot1kTuHOeuQspL5V1A1-7c7X8cNeMDoF01Ghh2w,296
116
- plotnine/guides/guide_colorbar.py,sha256=zHM6QRrzACC2l1Vq6p04Cu0QAGuTBfp3AhPyyMbYbgc,16290
117
- plotnine/guides/guide_legend.py,sha256=0CSyRxlHu0RSJjnMWvnStnq-EtjgdmHv54QgPWC3ufE,14236
118
- plotnine/guides/guides.py,sha256=UI3AhTOQCsXur_L-Jr3VwAQcX4dBeZMohSbA2wg1YeA,15478
119
- plotnine/mapping/__init__.py,sha256=DLu9E0kwwuHxzTUenoVjCNTTdkWMwIDtkExLleBq1MI,205
120
- plotnine/mapping/_env.py,sha256=ZzcSv54PLOD8b8Ny2h6xteGoO8bJdbj9dM6Mlg5h0V8,6094
121
- plotnine/mapping/aes.py,sha256=feWP04esVXjrpHlIsSRgoGvFtJjQ4noy-2gIp5MdUww,16192
122
- plotnine/mapping/evaluation.py,sha256=91xVP2KxCM-ur_KOFyki7Jm1t8GWPA1TecJbjZ9yOaQ,7699
123
- plotnine/plot_composition/__init__.py,sha256=ZJYpfVF158cQZ1zREXy6wHNJ4FbSmqWxIkHWZwX3QT8,148
124
- plotnine/plot_composition/_compose.py,sha256=uQfXxDbEayqyjX6yMOCJiePqAK7I2OU5YnBhphkYFY4,11477
125
- plotnine/plot_composition/_plotspec.py,sha256=0F7q7PjDMDqcallpnBdX3N2iSRjdBTyjSvMFf83uvPU,1015
126
- plotnine/plot_composition/_spacer.py,sha256=vaC4F5tHhvL7T7Ns9zxUbytqwB6MLNhm5jtiKG0vAiU,798
127
- plotnine/positions/__init__.py,sha256=DQZE6duMUNRQifpa6SBrOKxZpGDk4NqQSGZLr9Yc9GI,595
128
- plotnine/positions/position.py,sha256=BRD_dUh9dhdSP4SQfl8_u_VpaY_s3A2zuznwOn5M_80,8325
129
- plotnine/positions/position_dodge.py,sha256=6PbAhWDfNK7NK6FZZOcfr4mdmVOUV9VLH8xD0dbQFEU,3941
130
- plotnine/positions/position_dodge2.py,sha256=QI-oTIiYFOARozbBRuGQ1RHnZI_DKbCR2pJbuXlZvpQ,5661
131
- plotnine/positions/position_fill.py,sha256=DvBm_6Oh2X3tSl67gP-iFoBmbYHy_WfZotHSrY4k0Rg,160
132
- plotnine/positions/position_identity.py,sha256=9GE4WpuISLcGWTsgGqF9MARKhxdVySk5xeHACtyfJIk,203
133
- plotnine/positions/position_jitter.py,sha256=p5s21ry-k7dK2G_jtWFghocbA-1XS73ljMiuJRIM4WE,2226
134
- plotnine/positions/position_jitterdodge.py,sha256=D8J-9LfQgWaU6x5cZxkqze5NbKiHaDysUn-ftsxV7sU,3315
135
- plotnine/positions/position_nudge.py,sha256=IKzQsnZ5xpUzi_yP2GFBl249jICQv4j3dGpEcwx88UY,949
136
- plotnine/positions/position_stack.py,sha256=faomJVM-YsrxDVAmKC_9G3t6dNg3pgmaIcEJo39Xrb4,4027
137
- plotnine/scales/__init__.py,sha256=xjDUpVWBJ-JftSJkLTP_nB2Zs5BptaduOjkhBv3Qs9Q,5470
138
- plotnine/scales/_expand.py,sha256=ynlg_6s3NDTIe8dcP1C6XpiaIva0sin9fILFLywS04Y,1551
139
- plotnine/scales/_runtime_typing.py,sha256=Ror99gzX0pe25F3trm2TZOyQhNhIZiS8IfbYpdRh-aU,1311
140
- plotnine/scales/limits.py,sha256=db4r3Mvb35USO3w-fq12Rs5T3oOTylH5n8Ie8LFl6Wk,5619
141
- plotnine/scales/range.py,sha256=xBlFdAhthH1zKIJZDdkEyAA2kMZtyDorDFHKBMHKyAQ,1379
142
- plotnine/scales/scale.py,sha256=MpHUbFuO_6CdnfPS2IZ7eVMmZWY7wLvAWVSaSb6lSsw,8075
143
- plotnine/scales/scale_alpha.py,sha256=lYVZeaCC2pk-0-BoXnOeP0RdIbHYk6qo3DRClJrxTKo,2350
144
- plotnine/scales/scale_color.py,sha256=TKDpMBRsDM5--RbMRHGwMAoVFr7hF9Jtz2yKhrG9stQ,13347
145
- plotnine/scales/scale_continuous.py,sha256=gpTpZdPtQrTx1AiJAmBwW-AzvBiNbv9bUDzZmvdO0tA,16392
146
- plotnine/scales/scale_datetime.py,sha256=bY8fhXGj7fLOq783nuhoLJCybo_QnOo0L5XZFt5vSHc,3167
147
- plotnine/scales/scale_discrete.py,sha256=AXxoa3_0_zoPRm46GflBU8pbY9B26bSmxSv5hDv9mos,9392
148
- plotnine/scales/scale_identity.py,sha256=V_gj80VWTVTk-BZq_tWJqE7j_XOswY64hg_cRSMd3C4,1987
149
- plotnine/scales/scale_linetype.py,sha256=pwLTmglN6d4bnChbuBi6HWbDP_nsE4viXD8CK6XKBPw,1373
150
- plotnine/scales/scale_manual.py,sha256=pmrTN_yNqOa_1o63LqKZnAPIhNoVkn00p2nAXdJgOlo,4429
151
- plotnine/scales/scale_shape.py,sha256=I0JdYDreCbznQilaTi6m27F91N5daCj9D2ZPuP2Szls,2081
152
- plotnine/scales/scale_size.py,sha256=04nUQzKB_qpuQrcg8C7jYmLDYtdnlg6PkY7SivP5OlY,3273
153
- plotnine/scales/scale_stroke.py,sha256=7LKAg6-Q3VTuw78N2XEjFFzBa8yY5NVnfBSoJGsBS5o,1711
154
- plotnine/scales/scale_xy.py,sha256=uWWYxWr0fWIlqJJIRdwG44pMfmKPwKLjclvrE95ZUrk,10060
155
- plotnine/scales/scales.py,sha256=rmHFm7roKEeZhKs81gjhCNMyNpvXmQOqxqvEH8GCwOs,10113
156
- plotnine/stats/__init__.py,sha256=IZVXnHYmdpdev9NzxA-Nw9dZnuq1pudZNWLbYbvfWSg,1386
157
- plotnine/stats/binning.py,sha256=df0Qt4ZSi9rNqivAVZrgKyiQHh_CK9qAFabqjXn5uqs,9453
158
- plotnine/stats/density.py,sha256=TQihwduejW5I5oZ8GdWI_U_n-5N49SfMShm3OtlDhW8,6372
159
- plotnine/stats/distributions.py,sha256=pskpWUFcyrLR6AYeZAciRH0Cb267ME3G2mvm79xsgMc,1178
160
- plotnine/stats/smoothers.py,sha256=yS-DOcNwXapyL7A_eh-yL2dlQEbvF0TtmjIBhpqkLq0,17863
161
- plotnine/stats/stat.py,sha256=HIVzEsqPG_7cmdlocuq53MArD5kPxrNkXM5Bz6ws3_o,11741
162
- plotnine/stats/stat_bin.py,sha256=lpSL22f78mCMoVojuao_-EVNa4bTqfS5TRtZncPoRII,4590
163
- plotnine/stats/stat_bin_2d.py,sha256=cT8YZ8LnY4ns0kz2kgANU_3-lh_1T-uadhFYNa_JIzY,5252
164
- plotnine/stats/stat_bindot.py,sha256=EZb7IuXN1HaF6Su70VG-rKmQG9-Yc7xst8knFydIAXM,10290
165
- plotnine/stats/stat_boxplot.py,sha256=bwvrDs4vusYztn1Ibc-PTa_Rqn0P9JdILSBgmPotU_M,6018
166
- plotnine/stats/stat_count.py,sha256=JBCSHqHy5yA485pKVCqMCHRmJS5FOKinO4i6sKDnq7A,1993
167
- plotnine/stats/stat_density.py,sha256=XlRYG89iXWGBOn_0YpCbmycGlxumgRTukA5A1DtWwwY,10400
168
- plotnine/stats/stat_density_2d.py,sha256=KD2sllEeStiMCI2SljI_XW-zVksQGj3kmKYqHTNjgC8,5558
169
- plotnine/stats/stat_ecdf.py,sha256=Ck5a9QBU3p1KuBS3Ma8JrXZr9a-tB1Z-53vhLirRIZw,1631
170
- plotnine/stats/stat_ellipse.py,sha256=6fC6__kGLdrHVeM4KXnuDQcSnvSwhFy-n5EpStZS3J0,7502
171
- plotnine/stats/stat_function.py,sha256=fGpgxRJXtU0GB_uB4UkrbxGYDucVBaOdoxESzGF3-pc,3156
172
- plotnine/stats/stat_hull.py,sha256=tfoFAnTZG6NME3_22ltMPVcdmobrexTwNqhtZHc7tgk,1475
173
- plotnine/stats/stat_identity.py,sha256=h9SV8TZ4bkOF0uaNXMidAKdMrqPSDugm1Z2fyKzU3n4,384
174
- plotnine/stats/stat_pointdensity.py,sha256=Lnf6vsqVEs9FxgnB-zk_LnzLfMBvH8MV4KQWNj3i0Uo,2177
175
- plotnine/stats/stat_qq.py,sha256=aDjfUHqyBFFErBAJ5E9LJZU8SVBJbCnXSUl2-AJ3DQg,2876
176
- plotnine/stats/stat_qq_line.py,sha256=_J6XvNXQwChhwl4dDgKl1czLnZhm04jXp9xwylsIwsU,3305
177
- plotnine/stats/stat_quantile.py,sha256=D-TC-c2Ul0eFggz688X0l6MaqDrVmCBMM3aviiLTpHc,2481
178
- plotnine/stats/stat_sina.py,sha256=k9q34TMvkLEv3mRvWIefoZHR1EogmYEydDiH5fhxwNI,8343
179
- plotnine/stats/stat_smooth.py,sha256=hiJ5y7ai_qaFv8xxPeLs3BS6IPRvOy6Nor6SGA2H0wU,8016
180
- plotnine/stats/stat_sum.py,sha256=CgxZlcwJ8t8gVojwSz55UEOKwDC0MfI5ISWrwDbqy4w,1655
181
- plotnine/stats/stat_summary.py,sha256=RuuliRixo9c6sDnKmsQBXSJvfzkH2Oru7tyl88mpqzI,9289
182
- plotnine/stats/stat_summary_bin.py,sha256=sf9NPmSzyJML4-EfHNLmDB_wSyi5o4RAXIiIZLgNy9Q,5710
183
- plotnine/stats/stat_unique.py,sha256=7SXu_gb6h6YgLa1L-LM8hHe0jMZfcus4c_mEAN9zcWo,386
184
- plotnine/stats/stat_ydensity.py,sha256=cuGZwpBdotGhOLYaK_W_JvJSjCht9W1eJpbzW69ZhOY,5686
185
- plotnine/themes/__init__.py,sha256=tEKIF4gYmOF2Z1-_UDdK8zh41dLl-61HUGIhOQvki6I,916
186
- plotnine/themes/seaborn_rcmod.py,sha256=Pi-UX5LyH9teSuteYpqPOEnfLgKUz01LnKDyDA7Aois,15502
187
- plotnine/themes/targets.py,sha256=MjBRWWRgsLXXM_PJffPsV4DttQJB_m11jdD837BteuU,1686
188
- plotnine/themes/theme.py,sha256=sMEDXgbqMNRCnkS3AXIqE_KXdXrXVjwf3r1Kr0WnE5E,16244
189
- plotnine/themes/theme_538.py,sha256=6ZeIzzJ1VTgCMBYw4uprSjkS8GtcFvJmOIGjbm7h3Ok,1141
190
- plotnine/themes/theme_bw.py,sha256=KDOqt5C6SYaxr05ngZoTmvGvgZVeCDFLWOpChcO-Hek,1077
191
- plotnine/themes/theme_classic.py,sha256=B6QkU6blGnEY5iaiPtu4VsvFzC0peWSAhlKiC2SJSkM,923
192
- plotnine/themes/theme_dark.py,sha256=RbdMfK9GW3q5XFIVgSe_OH-ozohSgjMoxMYqw40QZJ4,1335
193
- plotnine/themes/theme_gray.py,sha256=9NVn5jOh_ypMbtnkICQk_v6GsL2gUzjal1xQKMHmwFk,5300
194
- plotnine/themes/theme_light.py,sha256=-vFWjP_vBMnuThNxkhVJvT9rKtr0tXWcrHDKdI_G3Ic,1429
195
- plotnine/themes/theme_linedraw.py,sha256=woMr18xoEJmsD8ZCiUpdyn-CE-P1AGFHRNapwCGWUjg,1350
196
- plotnine/themes/theme_matplotlib.py,sha256=Dqjr4J68lPxaCxp6Xq9VthOOS5CZLit-pL3zMV24ZaA,4260
197
- plotnine/themes/theme_minimal.py,sha256=YhkKNA48jP2OLa8-kHMfXFEFRjcsfWBLMID2orITrmo,884
198
- plotnine/themes/theme_seaborn.py,sha256=l4lz5qD5CqhqBDgfQ61Mye3TX3f5aCHoHHx1Q04j-OI,4211
199
- plotnine/themes/theme_tufte.py,sha256=qUOrZhQyfJgc0fmy8Es7tT7aYqUSzCjvkP7-dBilwHE,1926
200
- plotnine/themes/theme_void.py,sha256=bU2REV9dI4x2kDIlPO6Oaq3E5di2cE8VDH-hRrnWEMc,3367
201
- plotnine/themes/theme_xkcd.py,sha256=q3i1W97kBwpCRbR_Y609JxcfJA2cEX5e5iAS7flbF6I,2257
202
- plotnine/themes/themeable.py,sha256=nWgJ-0u4TnXH2rJa-qScUT-Hrefc2O7lPfYnmTTnttg,69179
203
- plotnine/themes/elements/__init__.py,sha256=Z9xHdhyWPNR2uF_P80aBEXYWp1DU-T2KGOuM7VimpbM,295
204
- plotnine/themes/elements/element_base.py,sha256=D7cfEglzsSuhW91KpZVAZ2MAHWZp64r9Aajoh8uMGZ4,832
205
- plotnine/themes/elements/element_blank.py,sha256=4r7-6HeR1494oWNIGQh0ASrFQ4SLvYa6aQHA85eH-Ds,187
206
- plotnine/themes/elements/element_line.py,sha256=xF6xW-iA66YEP_fN7ooqaYry8_8qZT-eT5wvKwXg3to,1838
207
- plotnine/themes/elements/element_rect.py,sha256=w5cLH-Sr4cTRXVdkRiu8kBqFt3TXHhIb1MUITfi89gE,1767
208
- plotnine/themes/elements/element_text.py,sha256=8yhwBa9s9JKCtBcqcBNybbCGK6ieDnZv4SHiC4Sy2qc,6255
209
- plotnine/themes/elements/margin.py,sha256=EsT46lqky7APHxMUDiNiTieNo_SIbHF-Sjhmf9zo4WY,2880
210
- plotnine-0.15.0.dev2.dist-info/licenses/LICENSE,sha256=GY4tQiUd17Tq3wWR42Zs9MRTFOTf6ahIXhZTcwAdOeU,1082
211
- plotnine-0.15.0.dev2.dist-info/METADATA,sha256=FYs_q0rKbRXD28ywez0hpKxIKULY21v9RCMw2dEgClI,9289
212
- plotnine-0.15.0.dev2.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
213
- plotnine-0.15.0.dev2.dist-info/top_level.txt,sha256=t340Mbko1ZbmvYPkQ81dIiPHcaQdTUszYz-bWUpr8ys,9
214
- plotnine-0.15.0.dev2.dist-info/RECORD,,
File without changes