lets-plot 4.7.0rc2__cp310-cp310-win_amd64.whl → 4.7.1rc1__cp310-cp310-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.
- lets_plot/__init__.py +14 -14
- lets_plot/_global_settings.py +0 -4
- lets_plot/_kbridge.py +11 -3
- lets_plot/_version.py +1 -1
- lets_plot/bistro/corr.py +28 -27
- lets_plot/bistro/im.py +4 -4
- lets_plot/bistro/joint.py +7 -7
- lets_plot/bistro/qq.py +16 -16
- lets_plot/bistro/residual.py +10 -10
- lets_plot/bistro/waterfall.py +26 -27
- lets_plot/export/ggsave_.py +29 -17
- lets_plot/frontend_context/_configuration.py +2 -2
- lets_plot/frontend_context/_html_contexts.py +6 -6
- lets_plot/geo_data/core.py +26 -22
- lets_plot/geo_data/geocoder.py +67 -56
- lets_plot/mapping.py +3 -3
- lets_plot/package_data/lets-plot.min.js +1 -1
- lets_plot/plot/annotation.py +5 -5
- lets_plot/plot/coord.py +4 -4
- lets_plot/plot/core.py +77 -141
- lets_plot/plot/expand_limits_.py +2 -2
- lets_plot/plot/facet.py +21 -17
- lets_plot/plot/font_features.py +3 -3
- lets_plot/plot/geom.py +1129 -1103
- lets_plot/plot/geom_extras.py +1 -1
- lets_plot/plot/geom_function_.py +16 -13
- lets_plot/plot/geom_imshow_.py +8 -7
- lets_plot/plot/geom_livemap_.py +38 -13
- lets_plot/plot/ggbunch_.py +1 -1
- lets_plot/plot/gggrid_.py +3 -3
- lets_plot/plot/ggtb_.py +1 -1
- lets_plot/plot/guide.py +9 -7
- lets_plot/plot/label.py +9 -9
- lets_plot/plot/marginal_layer.py +4 -4
- lets_plot/plot/plot.py +17 -16
- lets_plot/plot/pos.py +15 -15
- lets_plot/plot/sampling.py +8 -8
- lets_plot/plot/scale.py +153 -150
- lets_plot/plot/scale_colormap_mpl.py +9 -6
- lets_plot/plot/scale_convenience.py +6 -6
- lets_plot/plot/scale_identity_.py +9 -9
- lets_plot/plot/scale_position.py +16 -16
- lets_plot/plot/series_meta.py +7 -1
- lets_plot/plot/stat.py +64 -60
- lets_plot/plot/subplots.py +31 -22
- lets_plot/plot/theme_.py +93 -92
- lets_plot/plot/theme_set.py +15 -14
- lets_plot/plot/tooltip.py +14 -14
- lets_plot/plot/util.py +33 -3
- lets_plot/settings_utils.py +12 -12
- {lets_plot-4.7.0rc2.dist-info → lets_plot-4.7.1rc1.dist-info}/METADATA +63 -43
- lets_plot-4.7.1rc1.dist-info/RECORD +95 -0
- lets_plot_kotlin_bridge.cp310-win_amd64.pyd +0 -0
- lets_plot-4.7.0rc2.dist-info/RECORD +0 -95
- {lets_plot-4.7.0rc2.dist-info → lets_plot-4.7.1rc1.dist-info}/WHEEL +0 -0
- {lets_plot-4.7.0rc2.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/LICENSE +0 -0
- {lets_plot-4.7.0rc2.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/licenses/LICENSE.FreeType +0 -0
- {lets_plot-4.7.0rc2.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/licenses/LICENSE.ImageMagick +0 -0
- {lets_plot-4.7.0rc2.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/licenses/LICENSE.expat +0 -0
- {lets_plot-4.7.0rc2.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/licenses/LICENSE.fontconfig +0 -0
- {lets_plot-4.7.0rc2.dist-info → lets_plot-4.7.1rc1.dist-info}/top_level.txt +0 -0
lets_plot/plot/tooltip.py
CHANGED
|
@@ -141,11 +141,11 @@ class layer_tooltips(FeatureSpec):
|
|
|
141
141
|
a string template ('{.1f}') or a date/time format ('%d.%m.%y').
|
|
142
142
|
The numeric format for non-numeric value will be ignored.
|
|
143
143
|
If you need to include a brace character in the literal text,
|
|
144
|
-
it can be escaped by doubling:
|
|
144
|
+
it can be escaped by doubling: ``{{`` and ``}}``.
|
|
145
145
|
|
|
146
146
|
Returns
|
|
147
147
|
-------
|
|
148
|
-
|
|
148
|
+
``layer_tooltips``
|
|
149
149
|
Layer tooltips specification.
|
|
150
150
|
|
|
151
151
|
Notes
|
|
@@ -157,8 +157,8 @@ class layer_tooltips(FeatureSpec):
|
|
|
157
157
|
|
|
158
158
|
----
|
|
159
159
|
|
|
160
|
-
The string template in
|
|
161
|
-
for the default tooltip without
|
|
160
|
+
The string template in ``format`` will allow to change lines
|
|
161
|
+
for the default tooltip without ``line`` specifying.
|
|
162
162
|
Also the template will change the line for side tooltips.
|
|
163
163
|
Aes and var formats are not interchangeable, i.e. var format
|
|
164
164
|
will not be applied to aes, mapped to this variable.
|
|
@@ -234,7 +234,7 @@ class layer_tooltips(FeatureSpec):
|
|
|
234
234
|
|
|
235
235
|
Returns
|
|
236
236
|
-------
|
|
237
|
-
|
|
237
|
+
``layer_tooltips``
|
|
238
238
|
Layer tooltips specification.
|
|
239
239
|
|
|
240
240
|
Notes
|
|
@@ -329,7 +329,7 @@ class layer_tooltips(FeatureSpec):
|
|
|
329
329
|
|
|
330
330
|
Returns
|
|
331
331
|
-------
|
|
332
|
-
|
|
332
|
+
``layer_tooltips``
|
|
333
333
|
Layer tooltips specification.
|
|
334
334
|
|
|
335
335
|
Examples
|
|
@@ -364,7 +364,7 @@ class layer_tooltips(FeatureSpec):
|
|
|
364
364
|
|
|
365
365
|
Returns
|
|
366
366
|
-------
|
|
367
|
-
|
|
367
|
+
``layer_tooltips``
|
|
368
368
|
Layer tooltips specification.
|
|
369
369
|
|
|
370
370
|
Examples
|
|
@@ -390,7 +390,7 @@ class layer_tooltips(FeatureSpec):
|
|
|
390
390
|
|
|
391
391
|
def color(self, value):
|
|
392
392
|
"""
|
|
393
|
-
Function
|
|
393
|
+
Function ``color(value)`` is deprecated.
|
|
394
394
|
|
|
395
395
|
"""
|
|
396
396
|
print("WARN: The function color() is deprecated and is no longer supported.")
|
|
@@ -410,15 +410,15 @@ class layer_tooltips(FeatureSpec):
|
|
|
410
410
|
|
|
411
411
|
Returns
|
|
412
412
|
-------
|
|
413
|
-
|
|
413
|
+
``layer_tooltips``
|
|
414
414
|
Layer tooltips specification.
|
|
415
415
|
|
|
416
416
|
Notes
|
|
417
417
|
-----
|
|
418
|
-
The specification rules are the same as for the
|
|
418
|
+
The specification rules are the same as for the ``lines()`` function:
|
|
419
419
|
variables and aesthetics can be used in the template.
|
|
420
420
|
The resulting string will be at the beginning of the general tooltip, centered and highlighted in bold.
|
|
421
|
-
A long title can be split into multiple lines using
|
|
421
|
+
A long title can be split into multiple lines using ``\\\\n`` as a text separator.
|
|
422
422
|
|
|
423
423
|
Examples
|
|
424
424
|
--------
|
|
@@ -454,13 +454,13 @@ class layer_tooltips(FeatureSpec):
|
|
|
454
454
|
|
|
455
455
|
Returns
|
|
456
456
|
-------
|
|
457
|
-
|
|
457
|
+
``layer_tooltips``
|
|
458
458
|
Layer tooltips specification.
|
|
459
459
|
|
|
460
460
|
Notes
|
|
461
461
|
-----
|
|
462
|
-
By default, the
|
|
463
|
-
If the content of a general tooltip is specified with the
|
|
462
|
+
By default, the ``disable_splitting()`` function moves all side tooltips to the general tooltip.
|
|
463
|
+
If the content of a general tooltip is specified with the ``line()`` functions,
|
|
464
464
|
the general tooltip will get the given lines, and the side tooltips will be hidden.
|
|
465
465
|
|
|
466
466
|
Examples
|
lets_plot/plot/util.py
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
#
|
|
5
5
|
from typing import Any, Tuple, Sequence, Optional, Dict, List
|
|
6
6
|
|
|
7
|
-
from lets_plot._type_utils import is_pandas_data_frame
|
|
7
|
+
from lets_plot._type_utils import is_pandas_data_frame, is_polars_dataframe
|
|
8
8
|
from lets_plot.geo_data_internals.utils import find_geo_names
|
|
9
9
|
from lets_plot.mapping import MappingMeta
|
|
10
|
-
from lets_plot.plot.core import aes, FeatureSpec
|
|
10
|
+
from lets_plot.plot.core import aes, FeatureSpec, PlotSpec
|
|
11
11
|
from lets_plot.plot.series_meta import _infer_type, TYPE_UNKNOWN, TYPE_DATE_TIME, _detect_time_zone
|
|
12
12
|
|
|
13
13
|
|
|
@@ -18,6 +18,21 @@ def as_boolean(val, *, default):
|
|
|
18
18
|
return bool(val) and val != 'False'
|
|
19
19
|
|
|
20
20
|
|
|
21
|
+
def update_plot_aes_mapping(plot: PlotSpec, add_mapping: FeatureSpec):
|
|
22
|
+
existing_spec = plot.props().get('mapping', aes())
|
|
23
|
+
merged_mapping = {**existing_spec.as_dict(), **add_mapping.as_dict()}
|
|
24
|
+
|
|
25
|
+
# Re-annotate the data with the merged mapping.
|
|
26
|
+
data = plot.props().get('data', None)
|
|
27
|
+
data, processed_mapping, data_meta = as_annotated_data(data, aes(**merged_mapping))
|
|
28
|
+
plot.props()['data'] = data
|
|
29
|
+
plot.props()['mapping'] = processed_mapping
|
|
30
|
+
|
|
31
|
+
# Add data_meta to plot properties
|
|
32
|
+
for key, value in data_meta.items():
|
|
33
|
+
plot.props()[key] = value
|
|
34
|
+
|
|
35
|
+
|
|
21
36
|
def as_annotated_data(data: Any, mapping_spec: FeatureSpec) -> Tuple:
|
|
22
37
|
data_type_by_var: Dict[str, str] = {} # VarName to Type
|
|
23
38
|
mapping_meta_by_var: Dict[str, Dict[str, MappingMeta]] = {} # VarName to Dict[Aes, MappingMeta]
|
|
@@ -60,6 +75,21 @@ def as_annotated_data(data: Any, mapping_spec: FeatureSpec) -> Tuple:
|
|
|
60
75
|
|
|
61
76
|
if is_pandas_data_frame(data) and data[var_name].dtype.name == 'category' and data[var_name].dtype.ordered:
|
|
62
77
|
series_annotation['factor_levels'] = data[var_name].cat.categories.to_list()
|
|
78
|
+
|
|
79
|
+
elif is_polars_dataframe(data):
|
|
80
|
+
import polars
|
|
81
|
+
|
|
82
|
+
col_dtype = data[var_name].dtype
|
|
83
|
+
if isinstance(col_dtype, polars.datatypes.Enum):
|
|
84
|
+
series_annotation['factor_levels'] = list(col_dtype.categories)
|
|
85
|
+
elif isinstance(col_dtype, polars.datatypes.Categorical):
|
|
86
|
+
# # It does not seem possible to get categories in correct order from the Categorical dtype.
|
|
87
|
+
# categories_series = data[var_name].cat.get_categories()
|
|
88
|
+
# indises = [col_dtype.categories[cat] for cat in categories_series]
|
|
89
|
+
# cats = [col_dtype.categories[i] for i in indises]
|
|
90
|
+
# series_annotation['factor_levels'] = categories_series.to_list()
|
|
91
|
+
pass
|
|
92
|
+
|
|
63
93
|
elif var_name in mapping_meta_by_var:
|
|
64
94
|
levels = last_not_none(list(map(lambda mm: mm.levels, mapping_meta_by_var[var_name].values())))
|
|
65
95
|
if levels is not None:
|
|
@@ -101,7 +131,7 @@ def as_annotated_data(data: Any, mapping_spec: FeatureSpec) -> Tuple:
|
|
|
101
131
|
if order is not None:
|
|
102
132
|
mapping_annotation.setdefault('parameters', {})['order'] = order
|
|
103
133
|
|
|
104
|
-
# add mapping meta if custom label is set or if series annotation for var doesn't contain order options
|
|
134
|
+
# add mapping meta if a custom label is set or if series annotation for var doesn't contain order options
|
|
105
135
|
# otherwise don't add mapping meta - it's redundant, nothing unique compared to series annotation
|
|
106
136
|
if len(mapping_annotation):
|
|
107
137
|
mapping_annotation['aes'] = aesthetic
|
lets_plot/settings_utils.py
CHANGED
|
@@ -12,8 +12,8 @@ __all__ = ['maptiles_zxy', 'maptiles_lets_plot', 'maptiles_solid']
|
|
|
12
12
|
|
|
13
13
|
def maptiles_lets_plot(url: str = None, theme: str = None) -> dict:
|
|
14
14
|
"""
|
|
15
|
-
Make vector tiles config. Can be used individually in `geom_livemap()
|
|
16
|
-
or in every livemap via `LetsPlot.set()
|
|
15
|
+
Make vector tiles config. Can be used individually in `geom_livemap() <https://lets-plot.org/python/pages/api/lets_plot.geom_livemap.html>`__
|
|
16
|
+
or in every livemap via `LetsPlot.set() <https://lets-plot.org/python/pages/api/lets_plot.LetsPlot.html#lets_plot.LetsPlot.set>`__.
|
|
17
17
|
|
|
18
18
|
Parameters
|
|
19
19
|
----------
|
|
@@ -33,8 +33,8 @@ def maptiles_lets_plot(url: str = None, theme: str = None) -> dict:
|
|
|
33
33
|
If you are using Safari and having trouble loading tiles, try disabling the NSURLSession Websocket feature.
|
|
34
34
|
Go to `Develop -> Experimental Features -> NSURLSession Websocket` to turn it off.
|
|
35
35
|
|
|
36
|
-
Also, you could use raster tiles from
|
|
37
|
-
|
|
36
|
+
Also, you could use raster tiles from ``lets_plot.tilesets``, e.g.
|
|
37
|
+
``ggplot() + geom_livemap(tiles=tilesets.OPEN_TOPO_MAP)``.
|
|
38
38
|
|
|
39
39
|
Examples
|
|
40
40
|
--------
|
|
@@ -86,8 +86,8 @@ def maptiles_lets_plot(url: str = None, theme: str = None) -> dict:
|
|
|
86
86
|
def maptiles_zxy(url: str, attribution: str = None, min_zoom: int = None, max_zoom: int = None, subdomains: str = None,
|
|
87
87
|
**other_args) -> dict:
|
|
88
88
|
"""
|
|
89
|
-
Make raster tiles config. Can be used individually in `geom_livemap()
|
|
90
|
-
or in every livemap via `LetsPlot.set()
|
|
89
|
+
Make raster tiles config. Can be used individually in `geom_livemap() <https://lets-plot.org/python/pages/api/lets_plot.geom_livemap.html>`__
|
|
90
|
+
or in every livemap via `LetsPlot.set() <https://lets-plot.org/python/pages/api/lets_plot.LetsPlot.html#lets_plot.LetsPlot.set>`__.
|
|
91
91
|
|
|
92
92
|
Parameters
|
|
93
93
|
----------
|
|
@@ -99,9 +99,9 @@ def maptiles_zxy(url: str, attribution: str = None, min_zoom: int = None, max_zo
|
|
|
99
99
|
An attribution or a copyright notice to display on the map as required by the tile license.
|
|
100
100
|
Supports HTML links: ``'<a href="http://www.example.com">Example</a>'``.
|
|
101
101
|
min_zoom : int
|
|
102
|
-
Minimal zoom limit, an integer from 1 to 15. Should be less than or equal to
|
|
102
|
+
Minimal zoom limit, an integer from 1 to 15. Should be less than or equal to ``max_zoom``.
|
|
103
103
|
max_zoom : int
|
|
104
|
-
Maximal zoom limit, an integer from 1 to 15. Should be greater than or equal to
|
|
104
|
+
Maximal zoom limit, an integer from 1 to 15. Should be greater than or equal to ``min_zoom``.
|
|
105
105
|
subdomains : str
|
|
106
106
|
Each character of this list is interpreted as standalone tile servers, so an interactive map
|
|
107
107
|
can request tiles from any of these servers independently for better load balance. If url
|
|
@@ -156,8 +156,8 @@ def maptiles_zxy(url: str, attribution: str = None, min_zoom: int = None, max_zo
|
|
|
156
156
|
|
|
157
157
|
def maptiles_solid(color: str):
|
|
158
158
|
"""
|
|
159
|
-
Make solid color tiles config. Can be used individually in `geom_livemap()
|
|
160
|
-
or in every livemap via `LetsPlot.set()
|
|
159
|
+
Make solid color tiles config. Can be used individually in `geom_livemap() <https://lets-plot.org/python/pages/api/lets_plot.geom_livemap.html>`__
|
|
160
|
+
or in every livemap via `LetsPlot.set() <https://lets-plot.org/python/pages/api/lets_plot.LetsPlot.html#lets_plot.LetsPlot.set>`__.
|
|
161
161
|
|
|
162
162
|
Parameters
|
|
163
163
|
----------
|
|
@@ -191,8 +191,8 @@ def maptiles_solid(color: str):
|
|
|
191
191
|
|
|
192
192
|
def maptiles_chessboard():
|
|
193
193
|
"""
|
|
194
|
-
Make solid color tiles with chessboard pattern. Can be used individually in `geom_livemap()
|
|
195
|
-
or in every livemap via `LetsPlot.set()
|
|
194
|
+
Make solid color tiles with chessboard pattern. Can be used individually in `geom_livemap() <https://lets-plot.org/python/pages/api/lets_plot.geom_livemap.html>`__
|
|
195
|
+
or in every livemap via `LetsPlot.set() <https://lets-plot.org/python/pages/api/lets_plot.LetsPlot.html#lets_plot.LetsPlot.set>`__.
|
|
196
196
|
|
|
197
197
|
Returns
|
|
198
198
|
-------
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lets-plot
|
|
3
|
-
Version: 4.7.
|
|
3
|
+
Version: 4.7.1rc1
|
|
4
4
|
Summary: An open source library for statistical plotting
|
|
5
5
|
Home-page: https://lets-plot.org
|
|
6
6
|
Author: JetBrains
|
|
@@ -34,6 +34,7 @@ License-File: licenses/LICENSE.expat
|
|
|
34
34
|
License-File: licenses/LICENSE.fontconfig
|
|
35
35
|
Requires-Dist: pypng
|
|
36
36
|
Requires-Dist: palettable
|
|
37
|
+
Requires-Dist: pillow
|
|
37
38
|
Dynamic: author
|
|
38
39
|
Dynamic: author-email
|
|
39
40
|
Dynamic: classifier
|
|
@@ -105,38 +106,63 @@ Also read:
|
|
|
105
106
|
- [Scientific mode in PyCharm](https://www.jetbrains.com/help/pycharm/matplotlib-support.html)
|
|
106
107
|
- [Scientific mode in IntelliJ IDEA](https://www.jetbrains.com/help/idea/matplotlib-support.html)
|
|
107
108
|
|
|
108
|
-
## What is new in 4.
|
|
109
|
+
## What is new in 4.7.0
|
|
109
110
|
|
|
110
|
-
- ####
|
|
111
|
-
|
|
111
|
+
- #### Time Series Plotting
|
|
112
|
+
- Support for Python `time` and `date` objects.
|
|
113
|
+
- Support for timezone-aware `datetime` objects and Pandas/Polars `Series`.
|
|
114
|
+
|
|
115
|
+
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/time_date_datetime.png" alt="f-25b/images/time_date_datetime.png" width="400" height="237">
|
|
112
116
|
|
|
113
|
-
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-
|
|
117
|
+
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/time_date_datetime.ipynb).
|
|
118
|
+
|
|
119
|
+
- #### Native support for PNG and PDF exports
|
|
120
|
+
Exporting to PNG and PDF formats now uses the `ImageMagick` library bundled with Lets-Plot Python wheels and available out-of-the-box. <br>
|
|
121
|
+
This replaces the previous dependency on the `CairoSVG` library and comes with improved support for LaTeX labels rasterization. <br>
|
|
122
|
+
|
|
123
|
+
- #### `geom_sina()` Geometry
|
|
124
|
+
|
|
125
|
+
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/geom_sina.png" alt="f-25b/images/geom_sina.png" width="400" height="276">
|
|
126
|
+
|
|
127
|
+
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/geom_sina.ipynb).
|
|
128
|
+
|
|
129
|
+
- #### `geom_text_repel()` and `geom_label_repel()` Geometries
|
|
114
130
|
|
|
115
|
-
-
|
|
116
|
-
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25a/images/multiline_axis_labels.png" alt="f-25a/images/multiline_axis_labels.png" width="400" height="275">
|
|
131
|
+
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/geom_repel.png" alt="f-25b/images/geom_repel.png" width="400" height="232">
|
|
117
132
|
|
|
118
|
-
See
|
|
119
|
-
[axis label justification](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25a/axis_label_justification.ipynb),
|
|
133
|
+
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/ggrepel.ipynb).
|
|
120
134
|
|
|
121
|
-
- #### `
|
|
122
|
-
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25a/images/geom_hex.png" alt="f-25a/images/geom_hex.png" width="370" height="296">
|
|
135
|
+
- #### `waterfall_plot()` Chart
|
|
123
136
|
|
|
124
|
-
|
|
137
|
+
- Annotations support via `relative_labels` and `absolute_labels` parameters. <br>
|
|
138
|
+
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/waterfall_plot_annotations.png" alt="f-25b/images/waterfall_plot_annotations.png" width="400" height="253">
|
|
125
139
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25a/ggbunch_indonesia.ipynb).
|
|
140
|
+
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/waterfall_plot_annotations.ipynb).
|
|
141
|
+
|
|
142
|
+
- Support for combining waterfall bars with other geometry layers. <br>
|
|
143
|
+
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/waterfall_plot_layers.png" alt="f-25b/images/waterfall_plot_layers.png" width="400" height="227">
|
|
131
144
|
|
|
132
|
-
|
|
145
|
+
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/waterfall_plot_layers.ipynb).
|
|
133
146
|
|
|
134
|
-
|
|
147
|
+
- #### Continuous Data on Discrete Scales
|
|
135
148
|
|
|
136
|
-
|
|
137
|
-
|
|
149
|
+
Continuous data when used with discrete positional scales is no longer transformed to discrete data. <br>
|
|
150
|
+
Instead, it remains continuous, allowing for precise positioning of continuous elements relative to discrete ones. <br>
|
|
151
|
+
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/combo_discrete_continuous.png" alt="f-25b/images/combo_discrete_continuous.png" width="400" height="151">
|
|
138
152
|
|
|
139
|
-
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-
|
|
153
|
+
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/numeric_data_on_discrete_scale.ipynb).
|
|
154
|
+
|
|
155
|
+
> [!TIP]
|
|
156
|
+
> New way of handling continuous data on discrete scales could potentially break existing plots.
|
|
157
|
+
> If you want to restore a broken plot to its original form, you can use the [`as_discrete()`](https://lets-plot.org/python/pages/api/lets_plot.mapping.as_discrete.html) function to annotate continuous data as discrete.
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
- #### Plot Layout
|
|
161
|
+
The default plot layout has been improved to better accommodate axis labels and titles. <br>
|
|
162
|
+
Also, new `theme()` options `axis_text_spacing`, `axis_text_spacing_x`, and `axis_text_spacing_y` control spacing between axis ticks and labels. <br>
|
|
163
|
+
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25b/images/plot_layout_diagram.png" alt="f-25b/images/plot_layout_diagram.png" width="400" height="175">
|
|
164
|
+
|
|
165
|
+
See the [plot layout diagram](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/plot_layout_scheme.ipynb) showing various layout options and their effects on plot appearance.
|
|
140
166
|
|
|
141
167
|
|
|
142
168
|
- #### And More
|
|
@@ -146,35 +172,29 @@ Also read:
|
|
|
146
172
|
|
|
147
173
|
## Recent Updates in the [Gallery](https://lets-plot.org/python/pages/gallery.html)
|
|
148
174
|
|
|
175
|
+
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/raincloud.ipynb">
|
|
176
|
+
<img src="https://github.com/JetBrains/lets-plot-docs/blob/41d87786905efdd5995f66e6a2734255548f00dc/source/_static/images/changelog/4.7.0/square-raincloud.png?raw=true" alt="images/changelog/4.7.0/square-raincloud.png" width="128" height="128">
|
|
177
|
+
</a>
|
|
178
|
+
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/europe_capitals.ipynb">
|
|
179
|
+
<img src="https://github.com/JetBrains/lets-plot-docs/blob/41d87786905efdd5995f66e6a2734255548f00dc/source/_static/images/changelog/4.7.0/square-europe_capitals.png?raw=true" alt="images/changelog/4.7.0/square-europe_capitals.png" width="128" height="128">
|
|
180
|
+
</a>
|
|
181
|
+
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/trading_chart.ipynb">
|
|
182
|
+
<img src="https://github.com/JetBrains/lets-plot-docs/blob/41d87786905efdd5995f66e6a2734255548f00dc/source/_static/images/changelog/4.7.0/square-trading_chart.png?raw=true" alt="images/changelog/4.7.0/square-trading_chart.png" width="128" height="128">
|
|
183
|
+
</a>
|
|
149
184
|
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/magnifier_inset.ipynb">
|
|
150
185
|
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25a/images/magnifier_inset.png" alt="f-25a/images/magnifier_inset.png" width="128" height="128">
|
|
151
186
|
</a>
|
|
152
187
|
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/ggbunch_indonesia.ipynb">
|
|
153
188
|
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25a/images/ggbunch_indonesia.png" alt="f-25a/images/ggbunch_indonesia.png" width="128" height="128">
|
|
154
189
|
</a>
|
|
155
|
-
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/
|
|
156
|
-
<img src="https://
|
|
157
|
-
</a>
|
|
158
|
-
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/interact_pan_zoom.ipynb">
|
|
159
|
-
<img src="https://github.com/JetBrains/lets-plot-docs/blob/4b9571b8af759574fa2db313a102069d8f8c7238/source/_static/images/changelog/4.5.0/interact_pan_zoom.png?raw=true" alt="images/changelog/4.5.0/interact_pan_zoom.png" width="128" height="128">
|
|
160
|
-
</a>
|
|
161
|
-
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/lp_verse.ipynb">
|
|
162
|
-
<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="128" height="128">
|
|
190
|
+
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/lets_plot_in_2024.ipynb">
|
|
191
|
+
<img src="https://github.com/JetBrains/lets-plot-docs/blob/41d87786905efdd5995f66e6a2734255548f00dc/source/_static/images/changelog/4.7.0/square-lets_plot_in_2024.png?raw=true" alt="images/changelog/4.7.0/square-lets_plot_in_2024.png" width="128" height="128">
|
|
163
192
|
</a>
|
|
164
|
-
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/
|
|
165
|
-
<img src="https://
|
|
193
|
+
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/plot_layout_scheme.ipynb">
|
|
194
|
+
<img src="https://github.com/JetBrains/lets-plot-docs/blob/41d87786905efdd5995f66e6a2734255548f00dc/source/_static/images/changelog/4.7.0/square-plot_layout_scheme.png?raw=true" alt="images/changelog/4.7.0/square-plot_layout_scheme.png" width="128" height="128">
|
|
166
195
|
</a>
|
|
167
|
-
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/
|
|
168
|
-
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-
|
|
169
|
-
</a>
|
|
170
|
-
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/cookbook/geom_spoke.ipynb">
|
|
171
|
-
<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">
|
|
172
|
-
</a>
|
|
173
|
-
<a href="https://www.kaggle.com/code/alshan/indonesia-volcanoes-on-map">
|
|
174
|
-
<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">
|
|
175
|
-
</a>
|
|
176
|
-
<a href="https://www.kaggle.com/code/alshan/japanese-volcanoes-on-map">
|
|
177
|
-
<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">
|
|
196
|
+
<a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/theme_legend_scheme.ipynb">
|
|
197
|
+
<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="128" height="128">
|
|
178
198
|
</a>
|
|
179
199
|
|
|
180
200
|
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
lets_plot_kotlin_bridge.cp310-win_amd64.pyd,sha256=VATYedDO6WvppsOErYYbChGrOFwJKtsBgJVaL0HaE0Q,13686272
|
|
2
|
+
lets_plot/__init__.py,sha256=1zVRVEG3f5KaO_CRbqjmzPlhp7aMojEqG5XwWLl1O4M,12462
|
|
3
|
+
lets_plot/_global_settings.py,sha256=TASePWgnoqgZd7Q6LTxa6FK_rrWTab-FR7x7ht8Xof0,7694
|
|
4
|
+
lets_plot/_kbridge.py,sha256=-AhNO7UV1Pt4lyv_z8EE3Dg0sseX9DT8b2jUMVECvRA,5816
|
|
5
|
+
lets_plot/_type_utils.py,sha256=wKztT6Vd0etMKRoLzNMEW0GBNoy5fUddutzFdGvKYs8,3961
|
|
6
|
+
lets_plot/_version.py,sha256=3AyANncW3_vH8GtmeIk1MQOF3VoPvtV8JiPjOTf9Kr4,242
|
|
7
|
+
lets_plot/mapping.py,sha256=zv8WrXBZWe0h1wyTKRKtjhOFqVPL01CMsc7UcK4Ikys,3699
|
|
8
|
+
lets_plot/settings_utils.py,sha256=SQrjv2VYgBnXO3b6mGuGWuki7L67Po8pJHcbtxTc26I,9331
|
|
9
|
+
lets_plot/tilesets.py,sha256=8LC_GsrZd1X12rII28W1XbO7A8YfeG1AjBR8L_PPFVk,10810
|
|
10
|
+
lets_plot/bistro/__init__.py,sha256=0vjEBjuS3r4MR8ugQ1zIo1sks6K0ljSESJWH3pQcgYI,442
|
|
11
|
+
lets_plot/bistro/_plot2d_common.py,sha256=7cc_15IAzeTyq-zEwVlXdJ1ksAnymvOy8Yqgwzc05wU,3983
|
|
12
|
+
lets_plot/bistro/corr.py,sha256=YNajyOJWBA2QLdemf27Gizce1KHwRRiTUBT--Q-WjeU,14371
|
|
13
|
+
lets_plot/bistro/im.py,sha256=phaPOKi2TdtNx-IO6ITiSUtCnKw6SwxAvVRTFWaZ7kk,6649
|
|
14
|
+
lets_plot/bistro/joint.py,sha256=IvSIwGJGUVdNZnIIE0w8CtgFpV5AOpPUykkNBQdIsMg,6915
|
|
15
|
+
lets_plot/bistro/qq.py,sha256=PuwGvKArnRvOU0HMCP-qKTPxg37tbnF5lAMESEuOY7U,8505
|
|
16
|
+
lets_plot/bistro/residual.py,sha256=lwEiCMz4ewTxbMF9necBUE_OxqRLbBiVo3RGAK73hBA,12831
|
|
17
|
+
lets_plot/bistro/waterfall.py,sha256=fTIu-KVKsW7RKJ5CuTwzds3861zbeF3AzLBqmplESUc,15212
|
|
18
|
+
lets_plot/export/__init__.py,sha256=JloMKV4OAMgxBuYg8ObByZ3LJvqcUKed1G286WLA85E,194
|
|
19
|
+
lets_plot/export/ggsave_.py,sha256=duG7M60wOmqiXJc5FtVI-fYIvDdYNuZ9WfjtkAXwDz0,5889
|
|
20
|
+
lets_plot/frontend_context/__init__.py,sha256=LALJE-5rVdEcgCP-sWTwNAVoVZB-Pr2lG8CpVn04FrY,212
|
|
21
|
+
lets_plot/frontend_context/_configuration.py,sha256=aLEd-P4KowiVgPQcd_-E0atD9xpkepKtAfuixUdx2_Q,5714
|
|
22
|
+
lets_plot/frontend_context/_frontend_ctx.py,sha256=6ThMnNUp0FVKeFqnMCtOnIUSgsmC0TGQnQEUUCcRdjU,375
|
|
23
|
+
lets_plot/frontend_context/_html_contexts.py,sha256=Dd7_g6kHwo1xqvXArZVO2MX9WN6-89tLUX478sXmZA4,4247
|
|
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=8C-PttKqqH0re_uDuSd_I91nvdIX40BZotWUg-gy0zw,606
|
|
33
|
+
lets_plot/geo_data/core.py,sha256=fz9JEanV6vl4EqSqr1LE8mM8R_zNzkWhaXfoW_eQdto,10728
|
|
34
|
+
lets_plot/geo_data/geocoder.py,sha256=bKZUO00dmZl3_foUSQQ_-k5wW5F0vkSCYBucaEAJ3co,36072
|
|
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=ae6EEhPDD-UT9Ptc3mW1mT_f0mMc94d6Ig4tWZj5gXY,2761328
|
|
51
|
+
lets_plot/plot/__init__.py,sha256=JqOiE3XfvLripHZJO0_EUzRF10cljeJyU8z-jfFLMXE,1835
|
|
52
|
+
lets_plot/plot/_global_theme.py,sha256=eatwhJiiqnY6mrNW0Y1NMco2e7xxldhItgj1IOkhRuI,311
|
|
53
|
+
lets_plot/plot/annotation.py,sha256=-XnbLjO7ERF5UeCetmHojAzzHRstnYZWz8l1NSJkVvg,10141
|
|
54
|
+
lets_plot/plot/coord.py,sha256=I6AzR0T_q2ia3nU_ecZVOauInfKXhI3V7mkFEMWS1p4,8226
|
|
55
|
+
lets_plot/plot/core.py,sha256=1_9j0_3Kv__-L4KgxckI-urgLRpd2TCbhqkhm6Dwce8,36220
|
|
56
|
+
lets_plot/plot/expand_limits_.py,sha256=uoxx1_1nYAhELZIja31fDwZge0FqIs1kwexPAY1TrSY,2523
|
|
57
|
+
lets_plot/plot/facet.py,sha256=IzWUBvH3vKh_FMNuYY1Jjr1QZnZU4SRkLC3hJ6XGWT8,7513
|
|
58
|
+
lets_plot/plot/font_features.py,sha256=POmaOAlh3tLJtZs_7sRicnv7s7JbEF9d7qJR6YaOGk4,2313
|
|
59
|
+
lets_plot/plot/geom.py,sha256=vykmbm9XBdfJCFggj7GOZHxZLJYbT_rC-7zXJAMH-Vo,419610
|
|
60
|
+
lets_plot/plot/geom_extras.py,sha256=xGv8RBz2h55OdHWliPzoKbUg5jaDlkfZ1toIZWK_ppI,1749
|
|
61
|
+
lets_plot/plot/geom_function_.py,sha256=OeCOt5f2nSoAfVz9nNln2A6J-socIH59KiRxQ6bZqhM,8536
|
|
62
|
+
lets_plot/plot/geom_imshow_.py,sha256=IHZdQnubgDhE5PmkrVXNGsW1JJ2yT0V3qCUiCdKLHE0,14998
|
|
63
|
+
lets_plot/plot/geom_livemap_.py,sha256=z-KAgm-CJuN1E9Dx6TmtIqzSEBTWwbJ0LWp0UyK0cRw,13604
|
|
64
|
+
lets_plot/plot/ggbunch_.py,sha256=dFH8C1044jkI4C_3ek-CsZfEqmVtWAnqoQ_aJXzDioU,3189
|
|
65
|
+
lets_plot/plot/gggrid_.py,sha256=FIEFCbGhHQ7iPwnrx8KEGL4l2bL2DAAYlI_ew_NCo1g,4025
|
|
66
|
+
lets_plot/plot/ggtb_.py,sha256=aQEaVHJR38nOBlQA5Dsxqg8PzMQpMA9hqOlympMHG_o,1694
|
|
67
|
+
lets_plot/plot/guide.py,sha256=fFBC-gE30iUZOQqB5KiLfrOgp5rTlfu0JPBvCZdjDes,7283
|
|
68
|
+
lets_plot/plot/label.py,sha256=mDOlCOpKWOn6TIhCcNiXyPUr0GrbUwXMIXSHeMiEjTQ,4821
|
|
69
|
+
lets_plot/plot/marginal_layer.py,sha256=5pjRMCaMZxAMePBhhvcWtvx9aMfp_qqgImcMH_sbKos,6557
|
|
70
|
+
lets_plot/plot/plot.py,sha256=i3y4TMBWkAPHP6oKnL9VfRQbFGYfgT8b-HuwB0cMReU,8627
|
|
71
|
+
lets_plot/plot/pos.py,sha256=vsw6RD5_iIghkNnaHB1jnB18SwAMZ8_kqPo_bgBo85c,10549
|
|
72
|
+
lets_plot/plot/sampling.py,sha256=imX8p8EH2zshjSECzsvZlFUOLzw2MLFykJbHpEIBsBI,8843
|
|
73
|
+
lets_plot/plot/sandbox_.py,sha256=5wp2bkIBsihw9aIoKr8FUQZmtZbInHPCULbG5uPsMYE,571
|
|
74
|
+
lets_plot/plot/scale.py,sha256=1v6FL-FFJv2xWhtgSiuRpUGVm-2VsInLr2CQHYgjzLk,145685
|
|
75
|
+
lets_plot/plot/scale_colormap_mpl.py,sha256=iWABnyUtwKcWiovZVMZ1SftQF0Kg-07C8KERTaJwlUY,11029
|
|
76
|
+
lets_plot/plot/scale_convenience.py,sha256=4JgHKxXZJvdYIq-yXVhysrw4ndO5Z54D05XstXgT5qQ,4283
|
|
77
|
+
lets_plot/plot/scale_identity_.py,sha256=XPHMq67zSHC4OeknaRMRnORwLhZEe9YXsKz2psLF9nI,24474
|
|
78
|
+
lets_plot/plot/scale_position.py,sha256=fxh90JhelfY72vkaGMVvbBWhUddII_oOJIIWHFwLcyQ,48346
|
|
79
|
+
lets_plot/plot/series_meta.py,sha256=OhjXWDOui5E05fSiIXECAhK3yntGF5vXczb8np33ohw,7371
|
|
80
|
+
lets_plot/plot/stat.py,sha256=_RT87KFoa7BCvDtr7boHpOyI7yrpxcLoRRiSy-B3JTA,24986
|
|
81
|
+
lets_plot/plot/subplots.py,sha256=UkMb_Putpluk2O1OUMjukagc95YVdF2_CuRYw5yM_F0,12183
|
|
82
|
+
lets_plot/plot/subplots_util.py,sha256=PBwR7pGtYJAz4lJ0TNRH645aAvHAnJxgW91vpI0ob9A,937
|
|
83
|
+
lets_plot/plot/theme_.py,sha256=kPL93tWNdiukksQV4oJ-8CNXvtxxCL7cpi-EGlBnuN0,38353
|
|
84
|
+
lets_plot/plot/theme_set.py,sha256=H36Bdiam_1rDBqO7BgJMmuabF5ilpJ8in-1Rgo0CgEM,9599
|
|
85
|
+
lets_plot/plot/tooltip.py,sha256=okjB5LrCieLTj_dNKyHCn9NP4JDprorhOEhejT3E5DM,16499
|
|
86
|
+
lets_plot/plot/util.py,sha256=mQ4baL6-V9KCG_rJryZngTbg3xtI4kQX1aVgkovfyBU,10723
|
|
87
|
+
lets_plot-4.7.1rc1.dist-info/licenses/LICENSE,sha256=D7RdUBHyt0ua4vSZs8H7-HIcliPTSk9zY3sNzx8fejY,1087
|
|
88
|
+
lets_plot-4.7.1rc1.dist-info/licenses/licenses/LICENSE.FreeType,sha256=9X50Ww1fKFo_ZybMzdzAUSj_WDVNF-OkAxbWfCuUkWI,6884
|
|
89
|
+
lets_plot-4.7.1rc1.dist-info/licenses/licenses/LICENSE.ImageMagick,sha256=Qtl-X4kle2sZStOH9HmPd7mp0EeMWOpse9JYMAEUbco,12683
|
|
90
|
+
lets_plot-4.7.1rc1.dist-info/licenses/licenses/LICENSE.expat,sha256=Qx3QfqH_znueUlAUu_kjAG8SnuKO9c3_wEj44-s5GRw,1165
|
|
91
|
+
lets_plot-4.7.1rc1.dist-info/licenses/licenses/LICENSE.fontconfig,sha256=xq6T3fQdG_kYW4hDWk1-2trKYQG0rb5AIlCqITF4Dmw,8816
|
|
92
|
+
lets_plot-4.7.1rc1.dist-info/METADATA,sha256=sjulY34Vd9LRgmLPDorZA6hUJcVxuWW0vYqHWYfrFsg,13149
|
|
93
|
+
lets_plot-4.7.1rc1.dist-info/WHEEL,sha256=KUuBC6lxAbHCKilKua8R9W_TM71_-9Sg5uEP3uDWcoU,101
|
|
94
|
+
lets_plot-4.7.1rc1.dist-info/top_level.txt,sha256=ID-ORXUWN-oVZmD4YFy1rQVm2QT1D-MlGON3vdxqgpY,34
|
|
95
|
+
lets_plot-4.7.1rc1.dist-info/RECORD,,
|
|
Binary file
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
lets_plot_kotlin_bridge.cp310-win_amd64.pyd,sha256=JdeUtNG-ZJE7SxSURkORX5cuBXs-eFajmiUsFbGv2G4,13662208
|
|
2
|
-
lets_plot/__init__.py,sha256=aOXcSZVe50fLxe5PN_EjUUrylcqzc-kbSBunOpl_wmc,11507
|
|
3
|
-
lets_plot/_global_settings.py,sha256=GKiUIPks598X8lnHN0b94HQmURY6YjVugzx9G8ZvuOQ,7974
|
|
4
|
-
lets_plot/_kbridge.py,sha256=VT6lB6auKa_XN09-_cixeuajYxZMo2p-qaBwDfxlVl8,5189
|
|
5
|
-
lets_plot/_type_utils.py,sha256=wKztT6Vd0etMKRoLzNMEW0GBNoy5fUddutzFdGvKYs8,3961
|
|
6
|
-
lets_plot/_version.py,sha256=NCIdUPY3E9yJ_PDDXXu21U9Xu6MHKSdDM7oOpsyF1wA,242
|
|
7
|
-
lets_plot/mapping.py,sha256=vWWGrVgzgo1u3R8djyshSoOEuaqlqSQpEVeQNqeKWk0,3691
|
|
8
|
-
lets_plot/settings_utils.py,sha256=vKrsXMuJHR88ZZhPtQFAC-xrWKCpCPiRetfx1GpBGKU,8678
|
|
9
|
-
lets_plot/tilesets.py,sha256=8LC_GsrZd1X12rII28W1XbO7A8YfeG1AjBR8L_PPFVk,10810
|
|
10
|
-
lets_plot/bistro/__init__.py,sha256=0vjEBjuS3r4MR8ugQ1zIo1sks6K0ljSESJWH3pQcgYI,442
|
|
11
|
-
lets_plot/bistro/_plot2d_common.py,sha256=7cc_15IAzeTyq-zEwVlXdJ1ksAnymvOy8Yqgwzc05wU,3983
|
|
12
|
-
lets_plot/bistro/corr.py,sha256=1_8MUeSQAL50kxn7cbOpQUR2S_w4LHBLJ_EIi3m-ZzY,13339
|
|
13
|
-
lets_plot/bistro/im.py,sha256=RwbEkSlWtiAi0bwJg2--7inoggUng80JQAsxfdDHAcg,6641
|
|
14
|
-
lets_plot/bistro/joint.py,sha256=X84yVB4pTdGCP1mqSLfsfKxlY3uZlyK2tdYP9eA-OI0,6763
|
|
15
|
-
lets_plot/bistro/qq.py,sha256=lXRoStspJ6cBiZ6WFNS5gPXQGyE1iBq4c40V9OuQHok,8305
|
|
16
|
-
lets_plot/bistro/residual.py,sha256=0AEKViY9k6e3U__8i3cy1qtqxnPVOpbvjAO58b1kPsg,12673
|
|
17
|
-
lets_plot/bistro/waterfall.py,sha256=am_cPzWr9V5lu5gjO4rlclhUb8QwuMDMVX0DIq9ISC0,14600
|
|
18
|
-
lets_plot/export/__init__.py,sha256=JloMKV4OAMgxBuYg8ObByZ3LJvqcUKed1G286WLA85E,194
|
|
19
|
-
lets_plot/export/ggsave_.py,sha256=tUKb3Qr0g034Kn9GuE_i7vfLg2rpdATweh9RSa6WDrc,5161
|
|
20
|
-
lets_plot/frontend_context/__init__.py,sha256=LALJE-5rVdEcgCP-sWTwNAVoVZB-Pr2lG8CpVn04FrY,212
|
|
21
|
-
lets_plot/frontend_context/_configuration.py,sha256=n1bpgazj8xptZL5JHKedsBZhQEWlWt5xGe-DeEkq8Ko,5718
|
|
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=8C-PttKqqH0re_uDuSd_I91nvdIX40BZotWUg-gy0zw,606
|
|
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=95dygHGWGYX9rOI1KpJiHHnVopvSwZ3JMrEiTatouXA,2758969
|
|
51
|
-
lets_plot/plot/__init__.py,sha256=JqOiE3XfvLripHZJO0_EUzRF10cljeJyU8z-jfFLMXE,1835
|
|
52
|
-
lets_plot/plot/_global_theme.py,sha256=eatwhJiiqnY6mrNW0Y1NMco2e7xxldhItgj1IOkhRuI,311
|
|
53
|
-
lets_plot/plot/annotation.py,sha256=c-Hi8Dktpeax5oJfukj9TnLnDtMxCE7kAzvnD5yIrv8,10129
|
|
54
|
-
lets_plot/plot/coord.py,sha256=B4EEt6mqPERbYVwzl3VPkEym9hq_tO0LNtgdtluWQBQ,8218
|
|
55
|
-
lets_plot/plot/core.py,sha256=BIWLo9MTbsT6KCCismR0CWn4b1T8S1auKmWX-k9MpjA,37259
|
|
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=jzrtFniUosdZQhj6L2d0PFlnmibcON1Re3gjCV3MPnU,394993
|
|
60
|
-
lets_plot/plot/geom_extras.py,sha256=yJ9T5hAQWnhV-KwW-a55qbDOOrLF1D28VZsHpC4aC34,1747
|
|
61
|
-
lets_plot/plot/geom_function_.py,sha256=-jjSVFWiB0SpoSvotgvXx7zxHgQX4YBKiTLitDFlS0E,8077
|
|
62
|
-
lets_plot/plot/geom_imshow_.py,sha256=n4Gb4NcA40pMV7oc3sns3NYi4y2z2r1FTQ49xHYSsb8,14831
|
|
63
|
-
lets_plot/plot/geom_livemap_.py,sha256=A5COmLpWmYPm5uW7ftpw9tILOE0VOJhF7stmGe4TTfM,12511
|
|
64
|
-
lets_plot/plot/ggbunch_.py,sha256=N74Hbt3C7jo4eCirF1Px2ulLwzQl6jsd8oZbRzXQZYE,3187
|
|
65
|
-
lets_plot/plot/gggrid_.py,sha256=KkPTAf4_g7FyR8z_Kb1dvFM9mWgDznbBIHYbsGXHYDo,4019
|
|
66
|
-
lets_plot/plot/ggtb_.py,sha256=edPlNCtGqaeM6-TkFAbPewpK8vyPJYe527z-0i1Trp0,1692
|
|
67
|
-
lets_plot/plot/guide.py,sha256=huDbWFR4k5hmN00oF-sz-8RIv6pYyBCStCz--98qLvs,6923
|
|
68
|
-
lets_plot/plot/label.py,sha256=1_c1RWMdolYNmef8TjuPk8YtVmLU0QKY3ZG_UoOAV74,4736
|
|
69
|
-
lets_plot/plot/marginal_layer.py,sha256=auDAO5IiRpJVcqzqr31SnXJz7sQGIVbndx__qfr7JyY,6538
|
|
70
|
-
lets_plot/plot/plot.py,sha256=_e5MazLHxq5yKRcrjLk93PQK7VX-TIi-G0wSqo0X_os,8526
|
|
71
|
-
lets_plot/plot/pos.py,sha256=zYRWs2OkXWzlsevcv325x85TChIPJe1fDt40nCgSbBE,10383
|
|
72
|
-
lets_plot/plot/sampling.py,sha256=0DB-3hop8JUI0ZNfjML0wxi7W2EIApXGMEKQgGTGnoA,8827
|
|
73
|
-
lets_plot/plot/sandbox_.py,sha256=5wp2bkIBsihw9aIoKr8FUQZmtZbInHPCULbG5uPsMYE,571
|
|
74
|
-
lets_plot/plot/scale.py,sha256=52GiZJUfcm0GAyNUHeGEWbzuR8EzYELclFNfZe2sCbI,140526
|
|
75
|
-
lets_plot/plot/scale_colormap_mpl.py,sha256=Kn-_-RMOGIBT5-Wf7iSXQ31G9J0QTy6oFGE36Vw6PcI,10564
|
|
76
|
-
lets_plot/plot/scale_convenience.py,sha256=UOXX07wP5aARYwsOZ-6rK_RR0szhdhnThPvia6LOqrE,4271
|
|
77
|
-
lets_plot/plot/scale_identity_.py,sha256=6Uz5focUCHIqB9TPhJs7VsPrlZA7JmDOoP2iZYgCuOU,24454
|
|
78
|
-
lets_plot/plot/scale_position.py,sha256=7j7DBHPm_yRD9jeNt_4I1_M2kdVEtqTUnuvMM-mbAzs,48314
|
|
79
|
-
lets_plot/plot/series_meta.py,sha256=vMq91isQsgdxW_X21eFXjjBMgyoE1Osag3Z_uNZXNuY,7055
|
|
80
|
-
lets_plot/plot/stat.py,sha256=K7k8_trIWGcxrIMfhgkyynU_fjju_un2UPnInt14RfU,23474
|
|
81
|
-
lets_plot/plot/subplots.py,sha256=2MrQSydMEtRql-pxdS0k1QSh4l2KF-d5XFIt8DvXf6Q,11653
|
|
82
|
-
lets_plot/plot/subplots_util.py,sha256=PBwR7pGtYJAz4lJ0TNRH645aAvHAnJxgW91vpI0ob9A,937
|
|
83
|
-
lets_plot/plot/theme_.py,sha256=x4ImcosBJKxQNynf2QrpR37uZn0vQUKCOCVO0W_Hl_I,33321
|
|
84
|
-
lets_plot/plot/theme_set.py,sha256=KLQSAihJU8_FmAU0at8WUAtgnIqCvU2Rd5awNhTZimo,9496
|
|
85
|
-
lets_plot/plot/tooltip.py,sha256=TdyJ8pjNuomAF6jeaRsFyFxWWoSSoFFSzsTTnUYBg2Q,16469
|
|
86
|
-
lets_plot/plot/util.py,sha256=KC7GmCnqGK_aiG7q-oyJqY67_Nup_DJCEZIaARQHrrE,9315
|
|
87
|
-
lets_plot-4.7.0rc2.dist-info/licenses/LICENSE,sha256=D7RdUBHyt0ua4vSZs8H7-HIcliPTSk9zY3sNzx8fejY,1087
|
|
88
|
-
lets_plot-4.7.0rc2.dist-info/licenses/licenses/LICENSE.FreeType,sha256=9X50Ww1fKFo_ZybMzdzAUSj_WDVNF-OkAxbWfCuUkWI,6884
|
|
89
|
-
lets_plot-4.7.0rc2.dist-info/licenses/licenses/LICENSE.ImageMagick,sha256=Qtl-X4kle2sZStOH9HmPd7mp0EeMWOpse9JYMAEUbco,12683
|
|
90
|
-
lets_plot-4.7.0rc2.dist-info/licenses/licenses/LICENSE.expat,sha256=Qx3QfqH_znueUlAUu_kjAG8SnuKO9c3_wEj44-s5GRw,1165
|
|
91
|
-
lets_plot-4.7.0rc2.dist-info/licenses/licenses/LICENSE.fontconfig,sha256=xq6T3fQdG_kYW4hDWk1-2trKYQG0rb5AIlCqITF4Dmw,8816
|
|
92
|
-
lets_plot-4.7.0rc2.dist-info/METADATA,sha256=2LwwjkVcIcTmxbpi9ocMlMqiv73PrfcrZLdCstOXos4,11700
|
|
93
|
-
lets_plot-4.7.0rc2.dist-info/WHEEL,sha256=KUuBC6lxAbHCKilKua8R9W_TM71_-9Sg5uEP3uDWcoU,101
|
|
94
|
-
lets_plot-4.7.0rc2.dist-info/top_level.txt,sha256=ID-ORXUWN-oVZmD4YFy1rQVm2QT1D-MlGON3vdxqgpY,34
|
|
95
|
-
lets_plot-4.7.0rc2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
{lets_plot-4.7.0rc2.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/licenses/LICENSE.FreeType
RENAMED
|
File without changes
|
{lets_plot-4.7.0rc2.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/licenses/LICENSE.ImageMagick
RENAMED
|
File without changes
|
{lets_plot-4.7.0rc2.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/licenses/LICENSE.expat
RENAMED
|
File without changes
|
{lets_plot-4.7.0rc2.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/licenses/LICENSE.fontconfig
RENAMED
|
File without changes
|
|
File without changes
|