lets-plot 4.5.0__cp313-cp313-win_amd64.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 (89) hide show
  1. lets_plot/__init__.py +283 -0
  2. lets_plot/_global_settings.py +191 -0
  3. lets_plot/_kbridge.py +36 -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 +93 -0
  8. lets_plot/bistro/corr.py +447 -0
  9. lets_plot/bistro/im.py +165 -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 +250 -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 +62 -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 +7897 -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/gggrid_.py +141 -0
  62. lets_plot/plot/ggtb_.py +56 -0
  63. lets_plot/plot/guide.py +229 -0
  64. lets_plot/plot/label.py +187 -0
  65. lets_plot/plot/marginal_layer.py +181 -0
  66. lets_plot/plot/plot.py +237 -0
  67. lets_plot/plot/pos.py +344 -0
  68. lets_plot/plot/sampling.py +338 -0
  69. lets_plot/plot/sandbox_.py +26 -0
  70. lets_plot/plot/scale.py +3552 -0
  71. lets_plot/plot/scale_colormap_mpl.py +297 -0
  72. lets_plot/plot/scale_convenience.py +155 -0
  73. lets_plot/plot/scale_identity_.py +658 -0
  74. lets_plot/plot/scale_position.py +1336 -0
  75. lets_plot/plot/series_meta.py +123 -0
  76. lets_plot/plot/stat.py +581 -0
  77. lets_plot/plot/subplots.py +322 -0
  78. lets_plot/plot/theme_.py +681 -0
  79. lets_plot/plot/theme_set.py +393 -0
  80. lets_plot/plot/tooltip.py +486 -0
  81. lets_plot/plot/util.py +226 -0
  82. lets_plot/settings_utils.py +244 -0
  83. lets_plot/tilesets.py +364 -0
  84. lets_plot-4.5.0.dist-info/LICENSE +21 -0
  85. lets_plot-4.5.0.dist-info/METADATA +186 -0
  86. lets_plot-4.5.0.dist-info/RECORD +89 -0
  87. lets_plot-4.5.0.dist-info/WHEEL +5 -0
  88. lets_plot-4.5.0.dist-info/top_level.txt +2 -0
  89. lets_plot_kotlin_bridge.cp313-win_amd64.pyd +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,186 @@
1
+ Metadata-Version: 2.1
2
+ Name: lets-plot
3
+ Version: 4.5.0
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
+
36
+ # Lets-Plot
37
+
38
+ [![official JetBrains project](http://jb.gg/badges/official-flat-square.svg)](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub)
39
+ [![License MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://raw.githubusercontent.com/JetBrains/lets-plot-kotlin/master/LICENSE)
40
+ [![Latest Release](https://img.shields.io/github/v/release/JetBrains/lets-plot)](https://github.com/JetBrains/lets-plot/releases/latest)
41
+
42
+
43
+ **Lets-Plot** is a multiplatform plotting library built on the principles of the Grammar of Graphics.
44
+
45
+ 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.
46
+
47
+ > 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.
48
+ > - Hadley Wickham, "[ggplot2: Elegant Graphics for Data Analysis](https://ggplot2-book.org/index.html)"
49
+
50
+
51
+ ## Grammar of Graphics for Python [![Latest Release](https://badge.fury.io/py/lets-plot.svg)](https://pypi.org/project/lets-plot)
52
+
53
+ A bridge between R (ggplot2) and Python data visualization. \
54
+ To learn more see the documentation site at **[lets-plot.org](https://lets-plot.org)**.
55
+
56
+
57
+ ## 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)
58
+
59
+ ### Notebooks
60
+ Create plots in [Kotlin Notebook](https://plugins.jetbrains.com/plugin/16340-kotlin-notebook),
61
+ [Datalore](https://datalore.jetbrains.com/report/static/HZqq77cegYd.E7get_WnChZ/aTA9lQnPkRwdCzT6uy95GZ), [Jupyter with Kotlin Kernel](https://github.com/Kotlin/kotlin-jupyter#readme) \
62
+ or any other notebook that supports `Kotlin Kernel`. \
63
+ To learn more see the **[Lets-Plot Kotlin API](https://github.com/JetBrains/lets-plot-kotlin)** project at GitHub.
64
+
65
+ ### Compose Multiplatform
66
+ Embed Lets-Plot charts in [Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform) applications. \
67
+ To learn more see the **[Lets-Plot Skia Frontend](https://github.com/JetBrains/lets-plot-skia)** project at GitHub.
68
+
69
+ ### JVM and Kotlin/JS
70
+ Embed Lets-Plot charts in JVM (Swing, JavaFX) and Kotlin/JS applications. <br>
71
+ To learn more see the **[Lets-Plot Kotlin API](https://github.com/JetBrains/lets-plot-kotlin)** project at GitHub.
72
+
73
+ ## "Lets-Plot in SciView" plugin
74
+
75
+ [![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)
76
+ [![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)
77
+
78
+ *Scientific mode* in PyCharm and in IntelliJ IDEA provides support for interactive scientific computing and data visualization.
79
+
80
+ [*Lets-Plot in SciView*](https://plugins.jetbrains.com/plugin/14379-lets-plot-in-sciview) plugin adds
81
+ support for interactive plotting to IntelliJ-based IDEs with the *Scientific mode* enabled.
82
+
83
+ >
84
+ > **Note:** The *Scientific mode* is NOT available in communinty editions of JetBrains IDEs.
85
+ >
86
+
87
+ Also read:
88
+
89
+ - [Scientific mode in PyCharm](https://www.jetbrains.com/help/pycharm/matplotlib-support.html)
90
+ - [Scientific mode in IntelliJ IDEA](https://www.jetbrains.com/help/idea/matplotlib-support.html)
91
+
92
+ ## What is new in 4.5.0
93
+
94
+ - #### Panning and Zooming
95
+ <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">
96
+
97
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/interact_pan_zoom.ipynb).
98
+
99
+ - #### Clickable Links
100
+ <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">
101
+
102
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/interactive_links.ipynb).
103
+
104
+ - #### LaTeX Support: Subscript, Superscript, Greek Letters and Special Characters
105
+ <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">
106
+
107
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/latex_support.ipynb).
108
+
109
+ > [!CAUTION]
110
+ > Subscripts and superscripts are not supported in PDF and PNG exports.
111
+
112
+ - #### Compact Scientific Notation Formatting
113
+ <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">
114
+
115
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/superscript_exponent.ipynb).
116
+
117
+ > [!CAUTION]
118
+ > `pow` and `pow_full` options are not supported in PDF and PNG exports.
119
+
120
+ - #### QQ-Plot: Marginal Distributions
121
+ <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">
122
+
123
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/qq_plot_marginal.ipynb).
124
+
125
+ - #### More Theme Settings
126
+ <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">
127
+
128
+ See examples: [legend margins](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/theme_legend_margins.ipynb),
129
+ [legend key](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/theme_legend_key.ipynb),
130
+ [facet strip](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-24g/theme_facet_strip_xy.ipynb).
131
+
132
+
133
+ - #### And More
134
+
135
+ See [CHANGELOG.md](https://github.com/JetBrains/lets-plot/blob/master/CHANGELOG.md) for a full list of changes.
136
+
137
+
138
+ ## Recent Updates in the [Gallery](https://lets-plot.org/python/pages/gallery.html)
139
+
140
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/us_unemployment.ipynb">
141
+ <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">
142
+ </a>
143
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/venn_diagram.ipynb">
144
+ <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">
145
+ </a>
146
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/cookbook/geom_spoke.ipynb">
147
+ <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">
148
+ </a>
149
+ <a href="https://www.kaggle.com/code/alshan/indonesia-volcanoes-on-map">
150
+ <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">
151
+ </a>
152
+ <a href="https://www.kaggle.com/code/alshan/japanese-volcanoes-on-map">
153
+ <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">
154
+ </a>
155
+ <a href="https://nextjournal.com/asmirnov-horis/bbc-visual-and-data-journalism-cookbook-for-lets-plot">
156
+ <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">
157
+ </a>
158
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/palmer_penguins.ipynb">
159
+ <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">
160
+ </a>
161
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/periodic_table.ipynb">
162
+ <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">
163
+ </a>
164
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/wind_rose.ipynb">
165
+ <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">
166
+ </a>
167
+ <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/heatmap_in_polar_coord.ipynb">
168
+ <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">
169
+ </a>
170
+
171
+ ## Change Log
172
+
173
+ [CHANGELOG.md](https://github.com/JetBrains/lets-plot/blob/master/CHANGELOG.md)
174
+
175
+
176
+ ## Code of Conduct
177
+
178
+ This project and the corresponding community are governed by the
179
+ [JetBrains Open Source and Community Code of Conduct](https://confluence.jetbrains.com/display/ALL/JetBrains+Open+Source+and+Community+Code+of+Conduct).
180
+ Please make sure you read it.
181
+
182
+
183
+ ## License
184
+
185
+ Code and documentation released under the [MIT license](https://github.com/JetBrains/lets-plot/blob/master/LICENSE).
186
+ Copyright © 2019-2024, JetBrains s.r.o.
@@ -0,0 +1,89 @@
1
+ lets_plot_kotlin_bridge.cp313-win_amd64.pyd,sha256=M3UWucrpiOEjnVU-U3E0UeEDSLGezbwBVm81SemTjYE,7647744
2
+ lets_plot/__init__.py,sha256=aOXcSZVe50fLxe5PN_EjUUrylcqzc-kbSBunOpl_wmc,11507
3
+ lets_plot/_global_settings.py,sha256=dozwVWl2_Sg_-sWC08IYqVBhg4PCDAxHBERvD_XoWJU,7631
4
+ lets_plot/_kbridge.py,sha256=LCmRSeFeLFoESoVsm72QuZGFKDsRMMoN0lQF01xju1g,1250
5
+ lets_plot/_type_utils.py,sha256=6hyHbuAmxadW-h0AhTlHgKjQe-3g8cEhnskZ9zBnx5w,3029
6
+ lets_plot/_version.py,sha256=z9OC6SnQPZKkS66naIweMMSUfMHUn6BO9YoyFfqgrEU,239
7
+ lets_plot/mapping.py,sha256=vWWGrVgzgo1u3R8djyshSoOEuaqlqSQpEVeQNqeKWk0,3691
8
+ lets_plot/settings_utils.py,sha256=vKrsXMuJHR88ZZhPtQFAC-xrWKCpCPiRetfx1GpBGKU,8678
9
+ lets_plot/tilesets.py,sha256=opnIz6UI3Gu34JRICD_Tj_hrRmhBC-Rj1NuKLiWeJkk,9549
10
+ lets_plot/bistro/__init__.py,sha256=0vjEBjuS3r4MR8ugQ1zIo1sks6K0ljSESJWH3pQcgYI,442
11
+ lets_plot/bistro/_plot2d_common.py,sha256=E6a2QghFF8CWwUzT-iCtgqYBepCCPuwUyxcDM8BJkL8,3712
12
+ lets_plot/bistro/corr.py,sha256=1_8MUeSQAL50kxn7cbOpQUR2S_w4LHBLJ_EIi3m-ZzY,13339
13
+ lets_plot/bistro/im.py,sha256=HDpoNcqzYQrFfw40qAQQ8CvD0lQPzpNWkF93UrjLYjQ,5654
14
+ lets_plot/bistro/joint.py,sha256=8dn7mhbDkPCzVefrMSZ1kOJlX82RclWS4IBQe1lYymw,6744
15
+ lets_plot/bistro/qq.py,sha256=lXRoStspJ6cBiZ6WFNS5gPXQGyE1iBq4c40V9OuQHok,8305
16
+ lets_plot/bistro/residual.py,sha256=FaKP0T34wcBZNL_xMKrqDohSyVb5A6_oYqpKPo_uBr4,12654
17
+ lets_plot/bistro/waterfall.py,sha256=Xz_F0vHuZ__bVgaljjOz6Uf6gQWng3QgHhrBSkkY1jM,10585
18
+ lets_plot/export/__init__.py,sha256=JloMKV4OAMgxBuYg8ObByZ3LJvqcUKed1G286WLA85E,194
19
+ lets_plot/export/ggsave_.py,sha256=fSb9C3hUUmng-NbsIrv7F_a9F7aHXH8PWrSGW3MWyjQ,4704
20
+ lets_plot/frontend_context/__init__.py,sha256=LALJE-5rVdEcgCP-sWTwNAVoVZB-Pr2lG8CpVn04FrY,212
21
+ lets_plot/frontend_context/_configuration.py,sha256=WCYuFVe1TcB2iCDP2vVG_EKZcrXwv6X9WIwWu3X0qKs,5349
22
+ lets_plot/frontend_context/_frontend_ctx.py,sha256=6ThMnNUp0FVKeFqnMCtOnIUSgsmC0TGQnQEUUCcRdjU,375
23
+ lets_plot/frontend_context/_html_contexts.py,sha256=RYpaG9gWYlq9SqGUJHwWaPIj3Jrfy163G9L1UclNe0Q,4259
24
+ lets_plot/frontend_context/_intellij_python_json_ctx.py,sha256=d3N-4Lhxu7mqutyaby65Dgg5k5a-Enu7GxR5Am6RrP4,1154
25
+ lets_plot/frontend_context/_json_contexts.py,sha256=IppZQDgKfvfV0dpWZBIZf4ceD6wMQZwrSTJzImr96JE,1410
26
+ lets_plot/frontend_context/_jupyter_notebook_ctx.py,sha256=VW9M2g2xNVVXv5xeiJj2DDwczFIdVHWxI1unGP4-5ZU,4681
27
+ lets_plot/frontend_context/_mime_types.py,sha256=Rw6Uzo0Dx9fwknKMHf28TX4f25BIiblSNdxcEuWh_qs,246
28
+ lets_plot/frontend_context/_static_html_page_ctx.py,sha256=SQYOioLph5jhjIOwItUsVvcvIaybdM0BWR4koDXwbNY,868
29
+ lets_plot/frontend_context/_static_svg_ctx.py,sha256=Z9D8kNzVGKwoS-iwIYWMCy9OBszf6fklx5foN2BOzLc,846
30
+ lets_plot/frontend_context/_webbr_html_page_ctx.py,sha256=Lp_R2Xu0weQK9l8WOCcSqgCDP3u0tX7SGWMb5_IK398,897
31
+ lets_plot/frontend_context/sandbox.py,sha256=u0gxfIGuvBs-clENa0wj1LxT_JGZGc0E1vuFvwsKBfs,145
32
+ lets_plot/geo_data/__init__.py,sha256=dGJ01qfpNy35Gk3namj77Jne3f-O3_t1HIkHQ2BsUXM,616
33
+ lets_plot/geo_data/core.py,sha256=8Kxp8hbMRJVItR-N3T_7Ml5TOIpCkYMUGb0vsfy9hUM,9677
34
+ lets_plot/geo_data/geocoder.py,sha256=6clN2-uJN95YcMpKNUC4aLmegAJhRvMLsSc1TusgH3Q,34690
35
+ lets_plot/geo_data/geocodes.py,sha256=yuxj1FqhVCG0Vc3kUuxd21ShmL9WAtsu6tnmhackld4,18373
36
+ lets_plot/geo_data/livemap_helper.py,sha256=4169J6yeo3nftw3ynjPuUfCtrgw55a1mX7NxvNaLZo0,2150
37
+ lets_plot/geo_data/to_geo_data_frame.py,sha256=abVrGs6naP2hhJ6F2I0SodX82101pgkekV4pGM7BRJ8,5462
38
+ lets_plot/geo_data/type_assertion.py,sha256=9TThxe0Ojva6UH8MG_tGsIudKyIdRXmKJscNmBUULBc,809
39
+ lets_plot/geo_data/gis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
+ lets_plot/geo_data/gis/fluent_dict.py,sha256=qLzgPgancRe336CZUvXIpM96DRsBXvn3iVh6VvO7hwY,7231
41
+ lets_plot/geo_data/gis/geocoding_service.py,sha256=sLytBKRM9vM_1qth-K5ztcSUrRJ_7gqdTT3Hbevretc,1694
42
+ lets_plot/geo_data/gis/geometry.py,sha256=foMuvH8osjk_OdbVba38_bk46FRV-FDO5uI4TMGDM2k,2509
43
+ lets_plot/geo_data/gis/json_request.py,sha256=oLYqR3X4lz5bezjaNJC8RGrQmZJnzxEHhvpWK6lqzWc,10778
44
+ lets_plot/geo_data/gis/json_response.py,sha256=xyMf8clpAQNegDl63syF1gozEBUK9yAZZG5zyrLie5k,12661
45
+ lets_plot/geo_data/gis/request.py,sha256=jrTH_01S-Er32sRFLkHHq_QbBPcVZb8ANEp5moni_bs,17905
46
+ lets_plot/geo_data/gis/response.py,sha256=MsAk10JQe0XC-h4Cv0w7uzYxAtlx3YaSrqYXA6bOOs0,8261
47
+ lets_plot/geo_data_internals/__init__.py,sha256=ZwcoMdyQ_k9589f2D3nXXjedJpyiDR8WyqaghTh_EVQ,238
48
+ lets_plot/geo_data_internals/constants.py,sha256=2dViytUZPiojilhWV3UWzBAXgdHl5OoIJsNMsI0V7yU,441
49
+ lets_plot/geo_data_internals/utils.py,sha256=8vfDa99yq1YpVNr-RDtpCJfbrON04rIG6cugpQXnJlU,1000
50
+ lets_plot/package_data/lets-plot.min.js,sha256=rALSEdXuDICrYl5fHtaVZ6-bmZKeEKzLeHhfZDN4QqU,2763538
51
+ lets_plot/plot/__init__.py,sha256=GiiaHZnDDw6C2RRMSlsTbBi9hklr0VS-9j0sfvGYmHw,1779
52
+ lets_plot/plot/_global_theme.py,sha256=eatwhJiiqnY6mrNW0Y1NMco2e7xxldhItgj1IOkhRuI,311
53
+ lets_plot/plot/annotation.py,sha256=9jFJ2BTfLXKD-I0uBJrf8tC6cnv31ANTge8cDRJNHfc,7893
54
+ lets_plot/plot/coord.py,sha256=B4EEt6mqPERbYVwzl3VPkEym9hq_tO0LNtgdtluWQBQ,8218
55
+ lets_plot/plot/core.py,sha256=XTdRQ0Cn0wBypwXj3IpnGVy2i5Qj5jPaJxiSYry2sjo,32476
56
+ lets_plot/plot/expand_limits_.py,sha256=4_NqSyQMz20GZbsbHKhjCUP_7nS45N2107jPbq4GVmE,2385
57
+ lets_plot/plot/facet.py,sha256=cEWqPgl-4-sYv7Sq5EA_lQPrtKcnFmBMTYxIqo98re4,7236
58
+ lets_plot/plot/font_features.py,sha256=OInyzUmRbujBEeB2gxuD2O249-5htOQZi2Y_fujxpVY,2309
59
+ lets_plot/plot/geom.py,sha256=tp5cjHkoYtqKY70rq7RSN-9ejJgDGy47BLwbg0E7BwA,350270
60
+ lets_plot/plot/geom_extras.py,sha256=yJ9T5hAQWnhV-KwW-a55qbDOOrLF1D28VZsHpC4aC34,1747
61
+ lets_plot/plot/geom_function_.py,sha256=FsytaKiyVEvg7KGhnlq4-4Gb3YPzK1XyJ3Zos1NgH4g,8087
62
+ lets_plot/plot/geom_imshow_.py,sha256=pQX2hJn3R24hMB68F-PPb0UcDtbylg2VEFD3055jFyE,15160
63
+ lets_plot/plot/geom_livemap_.py,sha256=K-PjktJkbHa7Ylu0hyt-el2h_IA0n9gZ7W5VNtydSgQ,13457
64
+ lets_plot/plot/gggrid_.py,sha256=Gi0ypt1758B0QL-m6KldgK71yxcEcAc4XqqKb65aT1Q,4625
65
+ lets_plot/plot/ggtb_.py,sha256=aNJNfqTWJF4I592tYeORBhqZv93KxPjyrts49M3JutQ,1743
66
+ lets_plot/plot/guide.py,sha256=huDbWFR4k5hmN00oF-sz-8RIv6pYyBCStCz--98qLvs,6923
67
+ lets_plot/plot/label.py,sha256=1_c1RWMdolYNmef8TjuPk8YtVmLU0QKY3ZG_UoOAV74,4736
68
+ lets_plot/plot/marginal_layer.py,sha256=auDAO5IiRpJVcqzqr31SnXJz7sQGIVbndx__qfr7JyY,6538
69
+ lets_plot/plot/plot.py,sha256=mS2vIt7tV1jUJI2atmerA6t1yCxGF2QqqugEqgUQPWo,8102
70
+ lets_plot/plot/pos.py,sha256=NxnuE--5hwQCWOEqnoQu8TFppZYXJG5m2cgWkPjmXIg,10703
71
+ lets_plot/plot/sampling.py,sha256=0DB-3hop8JUI0ZNfjML0wxi7W2EIApXGMEKQgGTGnoA,8827
72
+ lets_plot/plot/sandbox_.py,sha256=5wp2bkIBsihw9aIoKr8FUQZmtZbInHPCULbG5uPsMYE,571
73
+ lets_plot/plot/scale.py,sha256=b3KK7CidyJImCpyN5g_MAozmAJreTC2S1lds8WxRdJA,139616
74
+ lets_plot/plot/scale_colormap_mpl.py,sha256=Kn-_-RMOGIBT5-Wf7iSXQ31G9J0QTy6oFGE36Vw6PcI,10564
75
+ lets_plot/plot/scale_convenience.py,sha256=UOXX07wP5aARYwsOZ-6rK_RR0szhdhnThPvia6LOqrE,4271
76
+ lets_plot/plot/scale_identity_.py,sha256=6Uz5focUCHIqB9TPhJs7VsPrlZA7JmDOoP2iZYgCuOU,24454
77
+ lets_plot/plot/scale_position.py,sha256=_DlKxIKm2_UBxgnCmAdzYf9Mk0bT8xd-PJlnVz2eIpI,47621
78
+ lets_plot/plot/series_meta.py,sha256=Nh-Vcq-zcg_oN4wdoHZxn6aKuScH3_5mVJ4D8LhbO3A,5621
79
+ lets_plot/plot/stat.py,sha256=wfFhM1WGNiBH2PLroq8Y6RbRMz6jZrRYaJBcWWbbkCo,23514
80
+ lets_plot/plot/subplots.py,sha256=euKS4m13r0Ilqu1kSBDoW1cjxgFqPRPuPiFyoERO6ro,11633
81
+ lets_plot/plot/theme_.py,sha256=T6yb7Y79pwOv1r-gE2q0ib0oAowrp3BCy8AO7eeRwJM,29546
82
+ lets_plot/plot/theme_set.py,sha256=KLQSAihJU8_FmAU0at8WUAtgnIqCvU2Rd5awNhTZimo,9496
83
+ lets_plot/plot/tooltip.py,sha256=TdyJ8pjNuomAF6jeaRsFyFxWWoSSoFFSzsTTnUYBg2Q,16469
84
+ lets_plot/plot/util.py,sha256=w5PWWPPG_b3g8z9yxfodsd38Csu-qg6z_Zgmzbavsn0,8812
85
+ lets_plot-4.5.0.dist-info/LICENSE,sha256=D7RdUBHyt0ua4vSZs8H7-HIcliPTSk9zY3sNzx8fejY,1087
86
+ lets_plot-4.5.0.dist-info/METADATA,sha256=6K_dwrByeggF_iHJtBDBcSIzm_b7zebChQHtA-0jcjc,11362
87
+ lets_plot-4.5.0.dist-info/WHEEL,sha256=-v_yZ08fSknsoT62oIKG9wp1eCBV9_ao2rO4BeIReTY,101
88
+ lets_plot-4.5.0.dist-info/top_level.txt,sha256=ID-ORXUWN-oVZmD4YFy1rQVm2QT1D-MlGON3vdxqgpY,34
89
+ lets_plot-4.5.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (75.2.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp313-cp313-win_amd64
5
+
@@ -0,0 +1,2 @@
1
+ lets_plot
2
+ lets_plot_kotlin_bridge