lets-plot 4.6.0rc1__cp39-cp39-macosx_10_15_x86_64.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.

Potentially problematic release.


This version of lets-plot might be problematic. Click here for more details.

Files changed (91) hide show
  1. lets_plot/__init__.py +283 -0
  2. lets_plot/_global_settings.py +191 -0
  3. lets_plot/_kbridge.py +134 -0
  4. lets_plot/_type_utils.py +110 -0
  5. lets_plot/_version.py +6 -0
  6. lets_plot/bistro/__init__.py +16 -0
  7. lets_plot/bistro/_plot2d_common.py +100 -0
  8. lets_plot/bistro/corr.py +447 -0
  9. lets_plot/bistro/im.py +196 -0
  10. lets_plot/bistro/joint.py +192 -0
  11. lets_plot/bistro/qq.py +207 -0
  12. lets_plot/bistro/residual.py +341 -0
  13. lets_plot/bistro/waterfall.py +252 -0
  14. lets_plot/export/__init__.py +6 -0
  15. lets_plot/export/ggsave_.py +133 -0
  16. lets_plot/frontend_context/__init__.py +8 -0
  17. lets_plot/frontend_context/_configuration.py +144 -0
  18. lets_plot/frontend_context/_frontend_ctx.py +16 -0
  19. lets_plot/frontend_context/_html_contexts.py +117 -0
  20. lets_plot/frontend_context/_intellij_python_json_ctx.py +38 -0
  21. lets_plot/frontend_context/_json_contexts.py +39 -0
  22. lets_plot/frontend_context/_jupyter_notebook_ctx.py +119 -0
  23. lets_plot/frontend_context/_mime_types.py +7 -0
  24. lets_plot/frontend_context/_static_html_page_ctx.py +27 -0
  25. lets_plot/frontend_context/_static_svg_ctx.py +26 -0
  26. lets_plot/frontend_context/_webbr_html_page_ctx.py +29 -0
  27. lets_plot/frontend_context/sandbox.py +5 -0
  28. lets_plot/geo_data/__init__.py +18 -0
  29. lets_plot/geo_data/core.py +331 -0
  30. lets_plot/geo_data/geocoder.py +977 -0
  31. lets_plot/geo_data/geocodes.py +512 -0
  32. lets_plot/geo_data/gis/__init__.py +0 -0
  33. lets_plot/geo_data/gis/fluent_dict.py +201 -0
  34. lets_plot/geo_data/gis/geocoding_service.py +42 -0
  35. lets_plot/geo_data/gis/geometry.py +91 -0
  36. lets_plot/geo_data/gis/json_request.py +232 -0
  37. lets_plot/geo_data/gis/json_response.py +308 -0
  38. lets_plot/geo_data/gis/request.py +492 -0
  39. lets_plot/geo_data/gis/response.py +247 -0
  40. lets_plot/geo_data/livemap_helper.py +65 -0
  41. lets_plot/geo_data/to_geo_data_frame.py +141 -0
  42. lets_plot/geo_data/type_assertion.py +34 -0
  43. lets_plot/geo_data_internals/__init__.py +4 -0
  44. lets_plot/geo_data_internals/constants.py +13 -0
  45. lets_plot/geo_data_internals/utils.py +33 -0
  46. lets_plot/mapping.py +115 -0
  47. lets_plot/package_data/lets-plot.min.js +2 -0
  48. lets_plot/plot/__init__.py +64 -0
  49. lets_plot/plot/_global_theme.py +14 -0
  50. lets_plot/plot/annotation.py +233 -0
  51. lets_plot/plot/coord.py +242 -0
  52. lets_plot/plot/core.py +943 -0
  53. lets_plot/plot/expand_limits_.py +78 -0
  54. lets_plot/plot/facet.py +206 -0
  55. lets_plot/plot/font_features.py +71 -0
  56. lets_plot/plot/geom.py +8160 -0
  57. lets_plot/plot/geom_extras.py +53 -0
  58. lets_plot/plot/geom_function_.py +216 -0
  59. lets_plot/plot/geom_imshow_.py +401 -0
  60. lets_plot/plot/geom_livemap_.py +330 -0
  61. lets_plot/plot/ggbunch_.py +96 -0
  62. lets_plot/plot/gggrid_.py +126 -0
  63. lets_plot/plot/ggtb_.py +56 -0
  64. lets_plot/plot/guide.py +229 -0
  65. lets_plot/plot/label.py +187 -0
  66. lets_plot/plot/marginal_layer.py +181 -0
  67. lets_plot/plot/plot.py +244 -0
  68. lets_plot/plot/pos.py +346 -0
  69. lets_plot/plot/sampling.py +338 -0
  70. lets_plot/plot/sandbox_.py +26 -0
  71. lets_plot/plot/scale.py +3577 -0
  72. lets_plot/plot/scale_colormap_mpl.py +297 -0
  73. lets_plot/plot/scale_convenience.py +155 -0
  74. lets_plot/plot/scale_identity_.py +658 -0
  75. lets_plot/plot/scale_position.py +1336 -0
  76. lets_plot/plot/series_meta.py +129 -0
  77. lets_plot/plot/stat.py +581 -0
  78. lets_plot/plot/subplots.py +322 -0
  79. lets_plot/plot/subplots_util.py +24 -0
  80. lets_plot/plot/theme_.py +766 -0
  81. lets_plot/plot/theme_set.py +393 -0
  82. lets_plot/plot/tooltip.py +486 -0
  83. lets_plot/plot/util.py +226 -0
  84. lets_plot/settings_utils.py +244 -0
  85. lets_plot/tilesets.py +364 -0
  86. lets_plot-4.6.0rc1.dist-info/LICENSE +21 -0
  87. lets_plot-4.6.0rc1.dist-info/METADATA +199 -0
  88. lets_plot-4.6.0rc1.dist-info/RECORD +91 -0
  89. lets_plot-4.6.0rc1.dist-info/WHEEL +5 -0
  90. lets_plot-4.6.0rc1.dist-info/top_level.txt +2 -0
  91. lets_plot_kotlin_bridge.cpython-39-darwin.so +0 -0
lets_plot/tilesets.py ADDED
@@ -0,0 +1,364 @@
1
+ # Copyright (c) 2021. JetBrains s.r.o.
2
+ # Use of this source code is governed by the MIT license that can be found in the LICENSE file.
3
+
4
+
5
+ from lets_plot import maptiles_lets_plot as _maptiles_lets_plot # to not polute scope with maptiles_lets_plot
6
+ from lets_plot import maptiles_solid as _maptiles_solid # to not polute scope with maptiles_solid
7
+ from lets_plot import maptiles_zxy as _maptiles_zxy # to not polute scope with maptiles_zxy
8
+
9
+ LETS_PLOT_COLOR = _maptiles_lets_plot(theme='color')
10
+ """
11
+ Default vector tiles.
12
+
13
+ Examples
14
+ --------
15
+ .. jupyter-execute::
16
+ :linenos:
17
+ :emphasize-lines: 4
18
+
19
+ from lets_plot import *
20
+ from lets_plot import tilesets
21
+ LetsPlot.setup_html()
22
+ ggplot() + geom_livemap(tiles=tilesets.LETS_PLOT_COLOR)
23
+
24
+ """
25
+
26
+ LETS_PLOT_LIGHT = _maptiles_lets_plot(theme='light')
27
+ """
28
+ Vector tiles, light theme.
29
+
30
+ Examples
31
+ --------
32
+ .. jupyter-execute::
33
+ :linenos:
34
+ :emphasize-lines: 4
35
+
36
+ from lets_plot import *
37
+ from lets_plot import tilesets
38
+ LetsPlot.setup_html()
39
+ ggplot() + geom_livemap(tiles=tilesets.LETS_PLOT_LIGHT)
40
+
41
+ """
42
+
43
+ LETS_PLOT_DARK = _maptiles_lets_plot(theme='dark')
44
+ """
45
+ Vector tiles, dark theme.
46
+
47
+ Examples
48
+ --------
49
+ .. jupyter-execute::
50
+ :linenos:
51
+ :emphasize-lines: 4
52
+
53
+ from lets_plot import *
54
+ from lets_plot import tilesets
55
+ LetsPlot.setup_html()
56
+ ggplot() + geom_livemap(tiles=tilesets.LETS_PLOT_DARK)
57
+
58
+ """
59
+
60
+ LETS_PLOT_BW = _maptiles_lets_plot(theme='bw')
61
+ """
62
+ Vector tiles, BW theme.
63
+
64
+ Examples
65
+ --------
66
+ .. jupyter-execute::
67
+ :linenos:
68
+ :emphasize-lines: 4
69
+
70
+ from lets_plot import *
71
+ from lets_plot import tilesets
72
+ LetsPlot.setup_html()
73
+ ggplot() + geom_livemap(tiles=tilesets.LETS_PLOT_BW)
74
+
75
+ """
76
+
77
+ SOLID = _maptiles_solid('#FFFFFF')
78
+ """
79
+ Blank tiles.
80
+ Show no other graphics but a solid background color.
81
+
82
+ Examples
83
+ --------
84
+ .. jupyter-execute::
85
+ :linenos:
86
+ :emphasize-lines: 4
87
+
88
+ from lets_plot import *
89
+ from lets_plot import tilesets
90
+ LetsPlot.setup_html()
91
+ ggplot() + geom_livemap(tiles=tilesets.SOLID)
92
+
93
+ """
94
+
95
+ OSM = _maptiles_zxy(
96
+ url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
97
+ attribution='map data: <a href="https://www.openstreetmap.org/copyright">© OpenStreetMap contributors</a>',
98
+ min_zoom=1, max_zoom=19, subdomains='abc'
99
+ )
100
+ """
101
+ OpenStreetMap's standard tile layer.
102
+
103
+ Examples
104
+ --------
105
+ .. jupyter-execute::
106
+ :linenos:
107
+ :emphasize-lines: 4
108
+
109
+ from lets_plot import *
110
+ from lets_plot import tilesets
111
+ LetsPlot.setup_html()
112
+ ggplot() + geom_livemap(tiles=tilesets.OSM)
113
+
114
+ """
115
+
116
+ OPEN_TOPO_MAP = _maptiles_zxy(
117
+ url="https://tile.opentopomap.org/{z}/{x}/{y}.png",
118
+ attribution='map data: <a href="https://www.openstreetmap.org/copyright">© OpenStreetMap contributors</a>, <a href="http://viewfinderpanoramas.org/">SRTM</a> | map style: <a href="https://opentopomap.org/">© OpenTopoMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>) ',
119
+ min_zoom=1, max_zoom=16
120
+ )
121
+ """
122
+ OpenTopoMap's tile layer.
123
+
124
+ Examples
125
+ --------
126
+ .. jupyter-execute::
127
+ :linenos:
128
+ :emphasize-lines: 4
129
+
130
+ from lets_plot import *
131
+ from lets_plot import tilesets
132
+ LetsPlot.setup_html()
133
+ ggplot() + geom_livemap(tiles=tilesets.OPEN_TOPO_MAP)
134
+
135
+ """
136
+
137
+
138
+ def _carto_tiles(tileset, cdn):
139
+ def build_carto_tiles_config(hi_res=''):
140
+ if cdn == 'carto':
141
+ base_url = "https://{{s}}.basemaps.cartocdn.com/rastertiles/{tileset}/{{z}}/{{x}}/{{y}}{hi_res}.png"
142
+ elif cdn == 'fastly':
143
+ # TODO: remove this branch in future releases
144
+ base_url = "https://cartocdn_{{s}}.global.ssl.fastly.net/{tileset}/{{z}}/{{x}}/{{y}}{hi_res}.png"
145
+ else:
146
+ raise ValueError("Unknown carto cdn: {}. Expected 'carto' or 'fastly'.".format(cdn))
147
+
148
+ return _maptiles_zxy(
149
+ base_url.format(tileset=tileset, hi_res=hi_res),
150
+ 'map data: <a href="https://www.openstreetmap.org/copyright">© OpenStreetMap contributors</a> <a href="https://carto.com/attributions#basemaps">© CARTO</a>, <a href="https://carto.com/attributions">© CARTO</a>',
151
+ min_zoom=1, max_zoom=20, subdomains='abc'
152
+ )
153
+
154
+ return build_carto_tiles_config(), build_carto_tiles_config(hi_res="@2x")
155
+
156
+
157
+ CARTO_POSITRON, CARTO_POSITRON_HIRES = _carto_tiles('light_all', cdn='carto')
158
+ """
159
+ CARTO tiles, positron theme.
160
+
161
+ Examples
162
+ --------
163
+ .. jupyter-execute::
164
+ :linenos:
165
+ :emphasize-lines: 4
166
+
167
+ from lets_plot import *
168
+ from lets_plot import tilesets
169
+ LetsPlot.setup_html()
170
+ ggplot() + geom_livemap(tiles=tilesets.CARTO_POSITRON)
171
+
172
+ |
173
+
174
+ .. jupyter-execute::
175
+ :linenos:
176
+ :emphasize-lines: 4
177
+
178
+ from lets_plot import *
179
+ from lets_plot import tilesets
180
+ LetsPlot.setup_html()
181
+ ggplot() + geom_livemap(tiles=tilesets.CARTO_POSITRON_HIRES)
182
+
183
+ """
184
+
185
+ CARTO_POSITRON_NO_LABELS, CARTO_POSITRON_NO_LABELS_HIRES = _carto_tiles('light_nolabels', cdn='carto')
186
+ """
187
+ CARTO tiles, positron (no labels) theme.
188
+
189
+ Examples
190
+ --------
191
+ .. jupyter-execute::
192
+ :linenos:
193
+ :emphasize-lines: 4
194
+
195
+ from lets_plot import *
196
+ from lets_plot import tilesets
197
+ LetsPlot.setup_html()
198
+ ggplot() + geom_livemap(tiles=tilesets.CARTO_POSITRON_NO_LABELS)
199
+
200
+ |
201
+
202
+ .. jupyter-execute::
203
+ :linenos:
204
+ :emphasize-lines: 4
205
+
206
+ from lets_plot import *
207
+ from lets_plot import tilesets
208
+ LetsPlot.setup_html()
209
+ ggplot() + geom_livemap(tiles=tilesets.CARTO_POSITRON_NO_LABELS_HIRES)
210
+
211
+ """
212
+
213
+ CARTO_DARK_MATTER_NO_LABELS, CARTO_DARK_MATTER_NO_LABELS_HIRES = _carto_tiles('dark_nolabels', cdn='carto')
214
+ """
215
+ CARTO tiles, dark matter (no labels) theme.
216
+
217
+ Examples
218
+ --------
219
+ .. jupyter-execute::
220
+ :linenos:
221
+ :emphasize-lines: 4
222
+
223
+ from lets_plot import *
224
+ from lets_plot import tilesets
225
+ LetsPlot.setup_html()
226
+ ggplot() + geom_livemap(tiles=tilesets.CARTO_DARK_MATTER_NO_LABELS)
227
+
228
+ |
229
+
230
+ .. jupyter-execute::
231
+ :linenos:
232
+ :emphasize-lines: 4
233
+
234
+ from lets_plot import *
235
+ from lets_plot import tilesets
236
+ LetsPlot.setup_html()
237
+ ggplot() + geom_livemap(tiles=tilesets.CARTO_DARK_MATTER_NO_LABELS_HIRES)
238
+
239
+ """
240
+
241
+ CARTO_VOYAGER, CARTO_VOYAGER_HIRES = _carto_tiles('voyager', cdn='carto')
242
+ """
243
+ CARTO tiles, voyager theme.
244
+
245
+ Examples
246
+ --------
247
+ .. jupyter-execute::
248
+ :linenos:
249
+ :emphasize-lines: 4
250
+
251
+ from lets_plot import *
252
+ from lets_plot import tilesets
253
+ LetsPlot.setup_html()
254
+ ggplot() + geom_livemap(tiles=tilesets.CARTO_VOYAGER)
255
+
256
+ |
257
+
258
+ .. jupyter-execute::
259
+ :linenos:
260
+ :emphasize-lines: 4
261
+
262
+ from lets_plot import *
263
+ from lets_plot import tilesets
264
+ LetsPlot.setup_html()
265
+ ggplot() + geom_livemap(tiles=tilesets.CARTO_VOYAGER_HIRES)
266
+
267
+ """
268
+
269
+ CARTO_MIDNIGHT_COMMANDER, CARTO_MIDNIGHT_COMMANDER_HIRES = _carto_tiles('base-midnight', cdn='fastly')
270
+ """
271
+ The tileset is deprecated and will be removed in future releases.
272
+
273
+ """
274
+
275
+ CARTO_ANTIQUE, CARTO_ANTIQUE_HIRES = _carto_tiles('base-antique', cdn='fastly')
276
+ """
277
+ The tileset is deprecated and will be removed in future releases.
278
+
279
+ """
280
+
281
+ CARTO_FLAT_BLUE, CARTO_FLAT_BLUE_HIRES = _carto_tiles('base-flatblue', cdn='fastly')
282
+ """
283
+ The tileset is deprecated and will be removed in future releases.
284
+
285
+ """
286
+
287
+
288
+ def _nasa_tiles(tileset, max_zoom, time=''):
289
+ # https://wiki.earthdata.nasa.gov/display/GIBS/GIBS+API+for+Developers
290
+ return _maptiles_zxy(
291
+ url="https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/{tileset}/default/{time}/GoogleMapsCompatible_Level{max_zoom}/{{z}}/{{y}}/{{x}}.jpg" \
292
+ .format(tileset=tileset, time=time, max_zoom=max_zoom),
293
+ attribution='map data: <a href="https://earthdata.nasa.gov/eosdis/science-system-description/eosdis-components/gibs">© NASA Global Imagery Browse Services (GIBS)</a>',
294
+ min_zoom=1, max_zoom=max_zoom
295
+ )
296
+
297
+
298
+ NASA_CITYLIGHTS_2012 = _nasa_tiles('VIIRS_CityLights_2012', max_zoom=8)
299
+ """
300
+ NASA tiles, CityLights 2012 theme.
301
+
302
+ Examples
303
+ --------
304
+ .. jupyter-execute::
305
+ :linenos:
306
+ :emphasize-lines: 4
307
+
308
+ from lets_plot import *
309
+ from lets_plot import tilesets
310
+ LetsPlot.setup_html()
311
+ ggplot() + geom_livemap(tiles=tilesets.NASA_CITYLIGHTS_2012)
312
+
313
+ """
314
+
315
+ NASA_GREYSCALE_SHADED_RELIEF_30M = _nasa_tiles('ASTER_GDEM_Greyscale_Shaded_Relief', max_zoom=12)
316
+ """
317
+ NASA tiles, greyscale shaded relief (30m) theme.
318
+
319
+ Examples
320
+ --------
321
+ .. jupyter-execute::
322
+ :linenos:
323
+ :emphasize-lines: 4
324
+
325
+ from lets_plot import *
326
+ from lets_plot import tilesets
327
+ LetsPlot.setup_html()
328
+ ggplot() + geom_livemap(tiles=tilesets.NASA_GREYSCALE_SHADED_RELIEF_30M)
329
+
330
+ """
331
+
332
+ NASA_COLOR_SHADED_RELIEF_30M = _nasa_tiles('ASTER_GDEM_Color_Shaded_Relief', max_zoom=12)
333
+ """
334
+ NASA tiles, color shaded relief (30m) theme.
335
+
336
+ Examples
337
+ --------
338
+ .. jupyter-execute::
339
+ :linenos:
340
+ :emphasize-lines: 4
341
+
342
+ from lets_plot import *
343
+ from lets_plot import tilesets
344
+ LetsPlot.setup_html()
345
+ ggplot() + geom_livemap(tiles=tilesets.NASA_COLOR_SHADED_RELIEF_30M)
346
+
347
+ """
348
+
349
+ NASA_TERRA_TRUECOLOR = _nasa_tiles('MODIS_Terra_CorrectedReflectance_TrueColor', max_zoom=9, time='2015-06-07')
350
+ """
351
+ NASA tiles, Terra TrueColor theme.
352
+
353
+ Examples
354
+ --------
355
+ .. jupyter-execute::
356
+ :linenos:
357
+ :emphasize-lines: 4
358
+
359
+ from lets_plot import *
360
+ from lets_plot import tilesets
361
+ LetsPlot.setup_html()
362
+ ggplot() + geom_livemap(tiles=tilesets.NASA_TERRA_TRUECOLOR)
363
+
364
+ """
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2019 JetBrains
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,199 @@
1
+ Metadata-Version: 2.2
2
+ Name: lets-plot
3
+ Version: 4.6.0rc1
4
+ Summary: An open source library for statistical plotting
5
+ Home-page: https://lets-plot.org
6
+ Author: JetBrains
7
+ Author-email: lets-plot@jetbrains.com
8
+ Maintainer: JetBrains
9
+ Maintainer-email: lets-plot@jetbrains.com
10
+ License: MIT
11
+ Project-URL: Github, https://github.com/JetBrains/lets-plot
12
+ Project-URL: Documentation, https://lets-plot.org
13
+ Keywords: ggplot,ggplot2,geospatial,geopandas,geocoding
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Development Status :: 5 - Production/Stable
16
+ Classifier: Programming Language :: Python :: 3.8
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Framework :: IPython
23
+ Classifier: Framework :: Jupyter
24
+ Classifier: Operating System :: MacOS
25
+ Classifier: Operating System :: POSIX :: Linux
26
+ Classifier: Operating System :: Microsoft :: Windows
27
+ Classifier: Programming Language :: Python :: Implementation :: CPython
28
+ Classifier: Topic :: Scientific/Engineering :: Visualization
29
+ Classifier: Intended Audience :: Science/Research
30
+ Classifier: Intended Audience :: Developers
31
+ Description-Content-Type: text/markdown
32
+ License-File: ../LICENSE
33
+ Requires-Dist: pypng
34
+ Requires-Dist: palettable
35
+ Dynamic: author
36
+ Dynamic: author-email
37
+ Dynamic: classifier
38
+ Dynamic: description
39
+ Dynamic: description-content-type
40
+ Dynamic: home-page
41
+ Dynamic: keywords
42
+ Dynamic: license
43
+ Dynamic: maintainer
44
+ Dynamic: maintainer-email
45
+ Dynamic: project-url
46
+ Dynamic: requires-dist
47
+ Dynamic: summary
48
+
49
+ # Lets-Plot
50
+
51
+ [![official JetBrains project](http://jb.gg/badges/official-flat-square.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
52
+ [![License MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://raw.githubusercontent.com/JetBrains/lets-plot-kotlin/master/LICENSE)
53
+ [![Latest Release](https://img.shields.io/github/v/release/JetBrains/lets-plot)](https://github.com/JetBrains/lets-plot/releases/latest)
54
+
55
+
56
+ **Lets-Plot** is a multiplatform plotting library built on the principles of the Grammar of Graphics.
57
+
58
+ The library' design is heavily influenced by Leland Wilkinson work [The Grammar of Graphics](https://www.goodreads.com/book/show/2549408.The_Grammar_of_Graphics) describing the deep features that underlie all statistical graphics.
59
+
60
+ > This grammar [...] is made up of a set of independent components that can be composed in many different ways. This makes [it] very powerful because you are not limited to a set of pre-specified graphics, but you can create new graphics that are precisely tailored for your problem.
61
+ > - Hadley Wickham, "[ggplot2: Elegant Graphics for Data Analysis](https://ggplot2-book.org/index.html)"
62
+
63
+
64
+ ## Grammar of Graphics for Python [![Latest Release](https://badge.fury.io/py/lets-plot.svg)](https://pypi.org/project/lets-plot)
65
+
66
+ A bridge between R (ggplot2) and Python data visualization. \
67
+ To learn more see the documentation site at **[lets-plot.org](https://lets-plot.org)**.
68
+
69
+
70
+ ## Grammar of Graphics for Kotlin [![Latest Release](https://img.shields.io/github/v/release/JetBrains/lets-plot-kotlin)](https://github.com/JetBrains/lets-plot-kotlin/releases/latest)
71
+
72
+ ### Notebooks
73
+ Create plots in [Kotlin Notebook](https://plugins.jetbrains.com/plugin/16340-kotlin-notebook),
74
+ [Datalore](https://datalore.jetbrains.com/report/static/HZqq77cegYd.E7get_WnChZ/aTA9lQnPkRwdCzT6uy95GZ), [Jupyter with Kotlin Kernel](https://github.com/Kotlin/kotlin-jupyter#readme) \
75
+ or any other notebook that supports `Kotlin Kernel`. \
76
+ To learn more see the **[Lets-Plot Kotlin API](https://github.com/JetBrains/lets-plot-kotlin)** project at GitHub.
77
+
78
+ ### Compose Multiplatform
79
+ Embed Lets-Plot charts in [Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform) applications. \
80
+ To learn more see the **[Lets-Plot Skia Frontend](https://github.com/JetBrains/lets-plot-skia)** project at GitHub.
81
+
82
+ ### JVM and Kotlin/JS
83
+ Embed Lets-Plot charts in JVM (Swing, JavaFX) and Kotlin/JS applications. <br>
84
+ To learn more see the **[Lets-Plot Kotlin API](https://github.com/JetBrains/lets-plot-kotlin)** project at GitHub.
85
+
86
+ ## "Lets-Plot in SciView" plugin
87
+
88
+ [![JetBrains Plugins](https://img.shields.io/jetbrains/plugin/v/14379-lets-plot-in-sciview.svg)](http://plugins.jetbrains.com/plugin/14379-lets-plot-in-sciview)
89
+ [![JetBrains plugins](https://img.shields.io/jetbrains/plugin/d/14379-lets-plot-in-sciview.svg)](http://plugins.jetbrains.com/plugin/14379-lets-plot-in-sciview)
90
+
91
+ *Scientific mode* in PyCharm and in IntelliJ IDEA provides support for interactive scientific computing and data visualization.
92
+
93
+ [*Lets-Plot in SciView*](https://plugins.jetbrains.com/plugin/14379-lets-plot-in-sciview) plugin adds
94
+ support for interactive plotting to IntelliJ-based IDEs with the *Scientific mode* enabled.
95
+
96
+ >
97
+ > **Note:** The *Scientific mode* is NOT available in communinty editions of JetBrains IDEs.
98
+ >
99
+
100
+ Also read:
101
+
102
+ - [Scientific mode in PyCharm](https://www.jetbrains.com/help/pycharm/matplotlib-support.html)
103
+ - [Scientific mode in IntelliJ IDEA](https://www.jetbrains.com/help/idea/matplotlib-support.html)
104
+
105
+ ## What is new in 4.5.0
106
+
107
+ - #### Panning and Zooming
108
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24g/images/ggtb.png" alt="f-24g/images/ggtb.png" width="300" height="134">
109
+
110
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/interact_pan_zoom.ipynb).
111
+
112
+ - #### Clickable Links
113
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24g/images/lp_verse.png" alt="f-24g/images/lp_verse.png" width="400" height="270">
114
+
115
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/interactive_links.ipynb).
116
+
117
+ - #### LaTeX Support: Subscript, Superscript, Greek Letters and Special Characters
118
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24g/images/latex.png" alt="f-24g/images/latex.png" width="300" height="227">
119
+
120
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/latex_support.ipynb).
121
+
122
+ > [!CAUTION]
123
+ > Subscripts and superscripts are not supported in PDF and PNG exports.
124
+
125
+ - #### Compact Scientific Notation Formatting
126
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24g/images/compact_exp.png" alt="f-24g/images/compact_exp.png" width="400" height="174">
127
+
128
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/superscript_exponent.ipynb).
129
+
130
+ > [!CAUTION]
131
+ > `pow` and `pow_full` options are not supported in PDF and PNG exports.
132
+
133
+ - #### QQ-Plot: Marginal Distributions
134
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24g/images/gg_marins.png" alt="f-24g/images/gg_marins.png" width="400" height="249">
135
+
136
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/qq_plot_marginal.ipynb).
137
+
138
+ - #### More Theme Settings
139
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24g/images/theme_legend_scheme.png" alt="f-24g/images/theme_legend_scheme.png" width="400" height="320">
140
+
141
+ See examples: [legend margins](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/theme_legend_margins.ipynb),
142
+ [legend key](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/theme_legend_key.ipynb),
143
+ [facet strip](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/theme_facet_strip_xy.ipynb).
144
+
145
+
146
+ - #### And More
147
+
148
+ See [CHANGELOG.md](https://github.com/JetBrains/lets-plot/blob/master/CHANGELOG.md) for a full list of changes.
149
+
150
+
151
+ ## Recent Updates in the [Gallery](https://lets-plot.org/python/pages/gallery.html)
152
+
153
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/us_unemployment.ipynb">
154
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24e/images/us_unemployment.png" alt="f-24e/images/us_unemployment.png" width="128" height="128">
155
+ </a>
156
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/venn_diagram.ipynb">
157
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24b/images/gal_venn_diagram.png" alt="f-24b/images/gal_venn_diagram.png" width="128" height="128">
158
+ </a>
159
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/cookbook/geom_spoke.ipynb">
160
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24b/images/gal_spoke.png" alt="f-24b/images/gal_spoke.png" width="128" height="128">
161
+ </a>
162
+ <a href="https://www.kaggle.com/code/alshan/indonesia-volcanoes-on-map">
163
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24b/images/gal_indonesia_volcanoes_on_map.png" alt="f-24b/images/gal_indonesia_volcanoes_on_map.png" width="128" height="128">
164
+ </a>
165
+ <a href="https://www.kaggle.com/code/alshan/japanese-volcanoes-on-map">
166
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24b/images/gal_japanese_volcanoes_on_map.png" alt="f-24b/images/gal_japanese_volcanoes_on_map.png" width="128" height="128">
167
+ </a>
168
+ <a href="https://nextjournal.com/asmirnov-horis/bbc-visual-and-data-journalism-cookbook-for-lets-plot">
169
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24a/images/gal_bbc_cookbook.png" alt="f-24a/images/gal_bbc_cookbook.png" width="128" height="128">
170
+ </a>
171
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/palmer_penguins.ipynb">
172
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24a/images/gal_penguins.png" alt="f-24a/images/gal_penguins.png" width="128" height="128">
173
+ </a>
174
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/periodic_table.ipynb">
175
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24a/images/gal_periodic_table.png" alt="f-24a/images/gal_periodic_table.png" width="128" height="128">
176
+ </a>
177
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/wind_rose.ipynb">
178
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24a/images/gal_wind_rose.png" alt="f-24a/images/gal_wind_rose.png" width="128" height="128">
179
+ </a>
180
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/heatmap_in_polar_coord.ipynb">
181
+ <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-24a/images/gal_polar_heatmap.png" alt="f-24a/images/gal_polar_heatmap.png" width="128" height="128">
182
+ </a>
183
+
184
+ ## Change Log
185
+
186
+ [CHANGELOG.md](https://github.com/JetBrains/lets-plot/blob/master/CHANGELOG.md)
187
+
188
+
189
+ ## Code of Conduct
190
+
191
+ This project and the corresponding community are governed by the
192
+ [JetBrains Open Source and Community Code of Conduct](https://confluence.jetbrains.com/display/ALL/JetBrains+Open+Source+and+Community+Code+of+Conduct).
193
+ Please make sure you read it.
194
+
195
+
196
+ ## License
197
+
198
+ Code and documentation released under the [MIT license](https://github.com/JetBrains/lets-plot/blob/master/LICENSE).
199
+ Copyright © 2019-2025, JetBrains s.r.o.
@@ -0,0 +1,91 @@
1
+ lets_plot_kotlin_bridge.cpython-39-darwin.so,sha256=8D-BKWjoZQiiY9lktGKWfk0UuZMNYlf2F7VMqq9Q4v4,9878848
2
+ lets_plot/__init__.py,sha256=JBXXtPi4nwhU9jrsUXcQTP1iaGF0jbHBVk_66pohq9I,11224
3
+ lets_plot/_global_settings.py,sha256=4P9UL6xWEARJuxyvXBQUxt1NE_YDrU_ElF34pr72VhA,7440
4
+ lets_plot/_kbridge.py,sha256=u5bBe6sTDbNgoAk3HmtkhQXxCYofjSSin-J-yHz0pfY,4675
5
+ lets_plot/_type_utils.py,sha256=2GZ4GrJHe7rk_DPSHj88nBW8R9xxx7IGbgGQwhQclOg,2919
6
+ lets_plot/_version.py,sha256=zp5oYxGv-KuOSmqcherUsd8W6SlOpM28E0tMXolvV8E,236
7
+ lets_plot/mapping.py,sha256=q-O14pcnAosRIWcgg9-CkXMF43p5H7cKbyT4ne9w6hY,3576
8
+ lets_plot/settings_utils.py,sha256=PrceNltN0JNzYxkIx0hwGgzX9dNxgVNqZY5hQ-r8QMQ,8434
9
+ lets_plot/tilesets.py,sha256=6Hqz-m-rFCq2XbMHtRJ0Zq3GTrnV-GCIhlFMT1opevs,9186
10
+ lets_plot/bistro/__init__.py,sha256=4Vix3Qu2P4zqGiDx8gnTd3usCLQQGBRKhseSNjrsBUY,426
11
+ lets_plot/bistro/_plot2d_common.py,sha256=NuRH-tJ-PKtC4X69hvtGu9Zhn0IvsGviDeHoy3JuXSQ,3883
12
+ lets_plot/bistro/corr.py,sha256=nfxVWcS1UOfIMXWuE69-2ya0Omxi5jhIcRp3pSTxHZA,12892
13
+ lets_plot/bistro/im.py,sha256=HFoesQff1_LJyOhzN_92a2uUOEBfrI3SG5qzgDj1Qu8,6379
14
+ lets_plot/bistro/joint.py,sha256=BIAII_eYGyHJ43kk7BABqRDhUMIIpLNafMN-0YDrl_w,6571
15
+ lets_plot/bistro/qq.py,sha256=4AMBjbtcwE4mQNmZSglGt1w8MnvhNqg7CZEVNb9fUr4,8098
16
+ lets_plot/bistro/residual.py,sha256=el9B_nd4vT53hIXvgVtqbMr5QvjxLZwzH4UbCGxlxbM,12332
17
+ lets_plot/bistro/waterfall.py,sha256=5iPADC8T6zUbjum5DKS4QihifdqTFaE8WOok5ULO0gU,10474
18
+ lets_plot/export/__init__.py,sha256=lDs6fqtQjkgJyKqeYlOdhrHMN__TeggTz73hgHAkyzc,188
19
+ lets_plot/export/ggsave_.py,sha256=2RaY-_spIIV3LL7r1MP9dvM7SMsIeR8CqtGXPjIp4tI,4571
20
+ lets_plot/frontend_context/__init__.py,sha256=nqIogfMulwKRY2l_v3Rn7tXMQ1btasX9f7dwfrVaj_A,204
21
+ lets_plot/frontend_context/_configuration.py,sha256=5_2aUyWkPgJ0-q0znBM4ktjyv9qijXV6knGjgDBxIZI,5205
22
+ lets_plot/frontend_context/_frontend_ctx.py,sha256=073vxq0laO6ubol3kJK6aBbWo9Fr2_olbQEZUbr_QFc,359
23
+ lets_plot/frontend_context/_html_contexts.py,sha256=sk4VG0aBa0sGXTV1PIWPKjPRM5lE-hkVEcGDyd0k-1o,4142
24
+ lets_plot/frontend_context/_intellij_python_json_ctx.py,sha256=pklGvBxke3nvK4gWgK5TuFAEzr2ywDtLtC7_V9lHMPE,1116
25
+ lets_plot/frontend_context/_json_contexts.py,sha256=5yzjvcyg5ZXgVJPWkN5GNiaa2BBUkxd2BXzF0QnCfdA,1371
26
+ lets_plot/frontend_context/_jupyter_notebook_ctx.py,sha256=jphbEqRfSY3tGa8ITmvDNi8utqo2eyn25sAChymMdZE,4562
27
+ lets_plot/frontend_context/_mime_types.py,sha256=Ka1IlWM8IgKZJePrg1GHDwNqH1Lz3z3AWAjLY6ylSb8,239
28
+ lets_plot/frontend_context/_static_html_page_ctx.py,sha256=8LMWMNw_S57FKptEytvQdtwGqe7v7FCu5oOGRETdovk,841
29
+ lets_plot/frontend_context/_static_svg_ctx.py,sha256=xc4EP8Lsa1kRID1-Jb5R40uG02OEMTKVwdUaSw4yQ_0,820
30
+ lets_plot/frontend_context/_webbr_html_page_ctx.py,sha256=n_RunY5jmUn5UW_uD_DI_JSATIiTX3YWZtKLwReKNAY,868
31
+ lets_plot/frontend_context/sandbox.py,sha256=7fKogCbxiYbE3zt6efsaISP5t3-kbgGeDJ3MLr11u2g,140
32
+ lets_plot/geo_data/__init__.py,sha256=e5GeHGKgmh7W8-f7VGLsoqNYIzNMMT8dVGkZPGclXw8,599
33
+ lets_plot/geo_data/core.py,sha256=GWQTPn7-miSiB-ovGZItFlHs5XiQqqFbNdRMPFnFjNA,9346
34
+ lets_plot/geo_data/geocoder.py,sha256=CNqb_DMm_yJgE5ItyW8J4kq7kQo8fp4lHuUHPiOo3sM,33713
35
+ lets_plot/geo_data/geocodes.py,sha256=DOdJKa2UVrf4ME64_6H9prrzLZ5ohgp9SKRnq4zgVu0,17861
36
+ lets_plot/geo_data/livemap_helper.py,sha256=vmmkC8FkBckFlSLpsps794OtYqRnEVCGn5NkZLOmw9o,2085
37
+ lets_plot/geo_data/to_geo_data_frame.py,sha256=jvOi2xyoJPK_CPEDvjidzeI3d8o06HtD0ZLmsHHG5-M,5321
38
+ lets_plot/geo_data/type_assertion.py,sha256=ldO3pgs_RA8OFCXhoykdCXjZZi8YhPWcLTM377_vh8k,775
39
+ lets_plot/geo_data/gis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
+ lets_plot/geo_data/gis/fluent_dict.py,sha256=WR1uREV2vx_krAQdegol1fIIebtbWm3bb_8jDt7uj-E,7030
41
+ lets_plot/geo_data/gis/geocoding_service.py,sha256=UfM0xMf_9MC0_8EtHiJTLSI6CKbrC4_OqtMSTg2oCxI,1652
42
+ lets_plot/geo_data/gis/geometry.py,sha256=kPtKDx35N4p7vhtaLOVA0rfHqsVYSDwMT5NhD8ydijQ,2418
43
+ lets_plot/geo_data/gis/json_request.py,sha256=CSNQRcgVVkeYjJ4uQ8_ppJ3CFgPm4JqmmeVR6q9HE-Y,10546
44
+ lets_plot/geo_data/gis/json_response.py,sha256=kpulh_-3CuRtP8lGSu6vdYFuZe5UHvt0s6-cvIK524Y,12353
45
+ lets_plot/geo_data/gis/request.py,sha256=TzNcbX05YY4eB9_y78FBVI6mCtbPCgdQnm5M_h7e_n4,17413
46
+ lets_plot/geo_data/gis/response.py,sha256=7Ac2VN4Hl9iffm7wAyfL80Wzo7sG9A1F5BqzJU3uZgQ,8014
47
+ lets_plot/geo_data_internals/__init__.py,sha256=4R6hr7MVB9iRi9JNQm_UUQL9jCe_dYDtizw_230V2Yg,234
48
+ lets_plot/geo_data_internals/constants.py,sha256=IDpHhOOg7dbfIKqLNSk3AGa-5HjDcnItFZDxCm4fylw,428
49
+ lets_plot/geo_data_internals/utils.py,sha256=phV_Q84xz4uZH2jI9WLUrYDyZAz0d2-00OOLxkRH4iw,967
50
+ lets_plot/package_data/lets-plot.min.js,sha256=tBtNPkFCkKKJkNBubidNdAuHjROzZt7nN83jNFSr7kA,2321579
51
+ lets_plot/plot/__init__.py,sha256=RNsQuVS8qe4Xf4so7PJiQJKdYYnDMIqydUQNzstqhZI,1771
52
+ lets_plot/plot/_global_theme.py,sha256=hOV9MzYpfjdF6hDE3mfLv_LqFtaouCJcccoW8pGoFoU,297
53
+ lets_plot/plot/annotation.py,sha256=ZBQ9ZTxOVT-ePVTUocPTQnM92loiVP0jgWw8XM9Cfmo,7660
54
+ lets_plot/plot/coord.py,sha256=h9ZTNmSbRjIdVTL_TTl9Dn5AsY46tYxuAKddUPjwe8s,7976
55
+ lets_plot/plot/core.py,sha256=I3H-btDBoAoPeLxY2v4mVbrrTwvu6MBFGXcFYPTUSKk,31542
56
+ lets_plot/plot/expand_limits_.py,sha256=UJzBbNNrdSG7osANmchQ-Jcg27DuSzFXGu27-WxiPSI,2307
57
+ lets_plot/plot/facet.py,sha256=1vDo1xk0G95x2SSf6HNWfeEgXS-FDxtpd18fo63_6gI,7030
58
+ lets_plot/plot/font_features.py,sha256=vUc_ICerwqnwwJbDaAm_fS8fmbRTZHzPoAHRszw0SF4,2238
59
+ lets_plot/plot/geom.py,sha256=8_ij29Iol2lHLk4LF5oeimRxFemzSLUNC1qhEqaRQ3M,352966
60
+ lets_plot/plot/geom_extras.py,sha256=I_ERjnZlk5VyilJELx0sA_4C2a_Ycjc2Thas-I6WZoo,1694
61
+ lets_plot/plot/geom_function_.py,sha256=bMGr73qaEW3HnxlWADvHyt_nYn9HJGZzBqYiHx4yIHY,7871
62
+ lets_plot/plot/geom_imshow_.py,sha256=LWlNVriYK26HZGUjdkbiB4YaoTlVQxUyaNUPY46RVqw,14759
63
+ lets_plot/plot/geom_livemap_.py,sha256=mDfMoH_R3cvP30NjcPwfQE88L5eCcjQ87pKwhcyuRZM,13127
64
+ lets_plot/plot/ggbunch_.py,sha256=kRAZGcDDe33SrU9kH_XVJqJBTfW3ho3VXm3ZchUzPO4,3091
65
+ lets_plot/plot/gggrid_.py,sha256=6M7YRxcrpftAardpKTMbkIeN0V7CB9FvFLdlSAKhZMA,3893
66
+ lets_plot/plot/ggtb_.py,sha256=27B87h5gpg0Q7ZM5VrQ0D2K3Dd6Yjs8DhRvZEoZ_TvI,1687
67
+ lets_plot/plot/guide.py,sha256=C-mDgjXKwQz_Pv6OB1rcQohAIUAl0QvoApPsAR5lbs4,6694
68
+ lets_plot/plot/label.py,sha256=iXTTLP-AjFtHRnti8v4mZMnGLRNLhsxhvetoQPhi8H0,4549
69
+ lets_plot/plot/marginal_layer.py,sha256=Y4FMmQZlUuLxzjjntVQThuV8scG6LbEmDGjstGMOls4,6357
70
+ lets_plot/plot/plot.py,sha256=t7zXnu6tiqhwvthO4C7CfaYv2gH_zPzQ8ias9cK3m3Y,8282
71
+ lets_plot/plot/pos.py,sha256=OnNDoy1Q_vy1_K9-ghPN3isOl3iaISge17laO5cJzZw,10471
72
+ lets_plot/plot/sampling.py,sha256=qy0aesxFgpx-cO0-dC1Wv9r4oSbtz7hRPC9YsNk9Pyo,8489
73
+ lets_plot/plot/sandbox_.py,sha256=Tb5UwJqe8HMMSCbDLdrj_BcxPSkmyxy-hI0_2L6kpBk,545
74
+ lets_plot/plot/scale.py,sha256=d_cTAnRdTHwSPnUp7mmCTjM6PDOKmr9FMESGu3DQOzk,136949
75
+ lets_plot/plot/scale_colormap_mpl.py,sha256=D5iWNaWGWpVFCJiNDwf-wHa8Snbd1YiWp6yktOkUl_A,10267
76
+ lets_plot/plot/scale_convenience.py,sha256=VWe9BJhFlUbWL2CLrOrxPy523dGIKIOL7A2H7OPx8_0,4116
77
+ lets_plot/plot/scale_identity_.py,sha256=qHo_CI7Xb9Olqza_MqvEV672AaaXM9gWac20SX4AGc4,23796
78
+ lets_plot/plot/scale_position.py,sha256=J8pFmYX2YorK6JhDKtgpFCMS5JhvKSzuASEwQCc6IgA,46285
79
+ lets_plot/plot/series_meta.py,sha256=0aleiIjUKG5nhqrkPwUpWELedz79JgRjq8zwcnevUiA,5780
80
+ lets_plot/plot/stat.py,sha256=XuZvGxt801db37yM6MsiLb8L5f6BN2L0wfP-QjBDjcc,22933
81
+ lets_plot/plot/subplots.py,sha256=l3lbbxhCwgib1sIUYx-POpJXT8HbhMk9OeIh3zo8kEM,11333
82
+ lets_plot/plot/subplots_util.py,sha256=T04pwI7LaYliUqEdRHog1SGExVt9XosQk6XDwqOg7q0,913
83
+ lets_plot/plot/theme_.py,sha256=6bfgpGsfgrpsF-VBokJaMBZjyM_pM5ukxo4LACtndvw,31595
84
+ lets_plot/plot/theme_set.py,sha256=USNU-ccPKlZ4KEC1ij92n-SHY5271Ru_c1CQIIWXonI,9103
85
+ lets_plot/plot/tooltip.py,sha256=AvRjT5UPop5wVORFHnaVeBhAIHTYbIjf0FXXUTB4Qvg,15983
86
+ lets_plot/plot/util.py,sha256=778yCTbEOvFRNueMyEPhRkJtPEwzh3Lo0LQO0FtoM0U,8586
87
+ lets_plot-4.6.0rc1.dist-info/LICENSE,sha256=r43VKLFaMylB4Ru-pE07j0cfUO7wQpMnWm-uZ8hEqMw,1066
88
+ lets_plot-4.6.0rc1.dist-info/METADATA,sha256=Zk0wxyWDpm-2lg_wZxDu1txptqGnSUJNQjjH7M0JnV8,11453
89
+ lets_plot-4.6.0rc1.dist-info/WHEEL,sha256=1Ug8M_zGpmLeJBlLDVYkTCIpltqA0EJ_Rhd3MdTNYmk,109
90
+ lets_plot-4.6.0rc1.dist-info/top_level.txt,sha256=ID-ORXUWN-oVZmD4YFy1rQVm2QT1D-MlGON3vdxqgpY,34
91
+ lets_plot-4.6.0rc1.dist-info/RECORD,,