lets-plot 4.7.0rc3__cp311-cp311-win_amd64.whl → 4.7.1rc1__cp311-cp311-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 (61) hide show
  1. lets_plot/__init__.py +14 -14
  2. lets_plot/_global_settings.py +0 -4
  3. lets_plot/_kbridge.py +11 -3
  4. lets_plot/_version.py +1 -1
  5. lets_plot/bistro/corr.py +28 -27
  6. lets_plot/bistro/im.py +4 -4
  7. lets_plot/bistro/joint.py +7 -7
  8. lets_plot/bistro/qq.py +16 -16
  9. lets_plot/bistro/residual.py +10 -10
  10. lets_plot/bistro/waterfall.py +26 -27
  11. lets_plot/export/ggsave_.py +29 -17
  12. lets_plot/frontend_context/_configuration.py +2 -2
  13. lets_plot/frontend_context/_html_contexts.py +6 -6
  14. lets_plot/geo_data/core.py +26 -22
  15. lets_plot/geo_data/geocoder.py +67 -56
  16. lets_plot/mapping.py +3 -3
  17. lets_plot/package_data/lets-plot.min.js +1 -1
  18. lets_plot/plot/annotation.py +5 -5
  19. lets_plot/plot/coord.py +4 -4
  20. lets_plot/plot/core.py +77 -141
  21. lets_plot/plot/expand_limits_.py +2 -2
  22. lets_plot/plot/facet.py +21 -17
  23. lets_plot/plot/font_features.py +3 -3
  24. lets_plot/plot/geom.py +1129 -1103
  25. lets_plot/plot/geom_extras.py +1 -1
  26. lets_plot/plot/geom_function_.py +16 -13
  27. lets_plot/plot/geom_imshow_.py +8 -7
  28. lets_plot/plot/geom_livemap_.py +38 -13
  29. lets_plot/plot/ggbunch_.py +1 -1
  30. lets_plot/plot/gggrid_.py +3 -3
  31. lets_plot/plot/ggtb_.py +1 -1
  32. lets_plot/plot/guide.py +9 -7
  33. lets_plot/plot/label.py +9 -9
  34. lets_plot/plot/marginal_layer.py +4 -4
  35. lets_plot/plot/plot.py +17 -16
  36. lets_plot/plot/pos.py +15 -15
  37. lets_plot/plot/sampling.py +8 -8
  38. lets_plot/plot/scale.py +153 -150
  39. lets_plot/plot/scale_colormap_mpl.py +9 -6
  40. lets_plot/plot/scale_convenience.py +6 -6
  41. lets_plot/plot/scale_identity_.py +9 -9
  42. lets_plot/plot/scale_position.py +16 -16
  43. lets_plot/plot/series_meta.py +7 -1
  44. lets_plot/plot/stat.py +64 -60
  45. lets_plot/plot/subplots.py +31 -22
  46. lets_plot/plot/theme_.py +93 -92
  47. lets_plot/plot/theme_set.py +15 -14
  48. lets_plot/plot/tooltip.py +14 -14
  49. lets_plot/plot/util.py +33 -3
  50. lets_plot/settings_utils.py +12 -12
  51. {lets_plot-4.7.0rc3.dist-info → lets_plot-4.7.1rc1.dist-info}/METADATA +62 -43
  52. lets_plot-4.7.1rc1.dist-info/RECORD +95 -0
  53. lets_plot_kotlin_bridge.cp311-win_amd64.pyd +0 -0
  54. lets_plot-4.7.0rc3.dist-info/RECORD +0 -95
  55. {lets_plot-4.7.0rc3.dist-info → lets_plot-4.7.1rc1.dist-info}/WHEEL +0 -0
  56. {lets_plot-4.7.0rc3.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/LICENSE +0 -0
  57. {lets_plot-4.7.0rc3.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/licenses/LICENSE.FreeType +0 -0
  58. {lets_plot-4.7.0rc3.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/licenses/LICENSE.ImageMagick +0 -0
  59. {lets_plot-4.7.0rc3.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/licenses/LICENSE.expat +0 -0
  60. {lets_plot-4.7.0rc3.dist-info → lets_plot-4.7.1rc1.dist-info}/licenses/licenses/LICENSE.fontconfig +0 -0
  61. {lets_plot-4.7.0rc3.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: `{{` and `}}`.
144
+ it can be escaped by doubling: ``{{`` and ``}}``.
145
145
 
146
146
  Returns
147
147
  -------
148
- `layer_tooltips`
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 `format` will allow to change lines
161
- for the default tooltip without `line` specifying.
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
- `layer_tooltips`
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
- `layer_tooltips`
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
- `layer_tooltips`
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 `color(value)` is deprecated.
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
- `layer_tooltips`
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 `lines()` function:
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 `\\\\n` as a text separator.
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
- `layer_tooltips`
457
+ ``layer_tooltips``
458
458
  Layer tooltips specification.
459
459
 
460
460
  Notes
461
461
  -----
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,
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
@@ -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 `lets_plot.tilesets`, e.g.
37
- `ggplot() + geom_livemap(tiles=tilesets.OPEN_TOPO_MAP)`
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 `max_zoom`.
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 `min_zoom`.
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.0rc3
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
@@ -106,38 +106,63 @@ Also read:
106
106
  - [Scientific mode in PyCharm](https://www.jetbrains.com/help/pycharm/matplotlib-support.html)
107
107
  - [Scientific mode in IntelliJ IDEA](https://www.jetbrains.com/help/idea/matplotlib-support.html)
108
108
 
109
- ## What is new in 4.6.0
109
+ ## What is new in 4.7.0
110
110
 
111
- - #### Markdown Support in *Title*, *Subtitle*, *Caption*, and Axis Labels
112
- <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25a/images/markdown.png" alt="f-25a/images/markdown.png" width="400" height="237">
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">
113
116
 
114
- See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25a/markdown.ipynb).
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
115
130
 
116
- - #### Support for Multiline Axis Labels, Text Justification in Axis Labels
117
- <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">
118
132
 
119
- See examples: [multiline axis labels](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25a/multiline_axis_labels.ipynb),
120
- [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).
121
134
 
122
- - #### `geom_hex()` Geometry
123
- <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
124
136
 
125
- See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25a/geom_hex.ipynb).
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">
126
139
 
127
- - #### `ggbunch()` Function: Combining Plots with Custom Layout
128
- It replaces the deprecated `GGBunch` class. <br/>
129
- <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="400" height="164">
130
-
131
- 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">
132
144
 
133
- <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="400" height="251">
145
+ See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/waterfall_plot_layers.ipynb).
134
146
 
135
- See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25a/magnifier_inset.ipynb).
147
+ - #### Continuous Data on Discrete Scales
136
148
 
137
- - #### Parameters `start` and `direction` in `geom_pie()` Geometry
138
- <img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25a/images/geom_pie_params.png" alt="f-25a/images/geom_pie_params.png" width="400" height="119">
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">
139
152
 
140
- See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25a/geom_pie_params.ipynb).
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.
141
166
 
142
167
 
143
168
  - #### And More
@@ -147,35 +172,29 @@ Also read:
147
172
 
148
173
  ## Recent Updates in the [Gallery](https://lets-plot.org/python/pages/gallery.html)
149
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>
150
184
  <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/magnifier_inset.ipynb">
151
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">
152
186
  </a>
153
187
  <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/ggbunch_indonesia.ipynb">
154
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">
155
189
  </a>
156
- <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/theme_legend_scheme.ipynb">
157
- <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">
158
- </a>
159
- <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/interact_pan_zoom.ipynb">
160
- <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">
161
- </a>
162
- <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/lp_verse.ipynb">
163
- <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">
164
192
  </a>
165
- <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/us_unemployment.ipynb">
166
- <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">
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">
167
195
  </a>
168
- <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/demo/venn_diagram.ipynb">
169
- <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">
170
- </a>
171
- <a href="https://nbviewer.org/github/JetBrains/lets-plot-docs/blob/master/source/examples/cookbook/geom_spoke.ipynb">
172
- <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">
173
- </a>
174
- <a href="https://www.kaggle.com/code/alshan/indonesia-volcanoes-on-map">
175
- <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">
176
- </a>
177
- <a href="https://www.kaggle.com/code/alshan/japanese-volcanoes-on-map">
178
- <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">
179
198
  </a>
180
199
 
181
200
 
@@ -0,0 +1,95 @@
1
+ lets_plot_kotlin_bridge.cp311-win_amd64.pyd,sha256=b_Is7vZQ2FRpsYX8w2U_bZWnww1PV2Pye_PoxRW5WyI,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=JLOMsP7F5qtkAkINx5UnzbFguf8CqZeraV8o04b0I8I,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.cp311-win_amd64.pyd,sha256=wKoOZOo42wGTeverv6Vkq4oAwwWiDDJBlKNouUBu7gI,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=wEDt55D1k0o-7Gg6hos4rPTpZCCWAZd6pqnhVmCXpts,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=IRod8eWL2HomyylIjVV59lClD1zpX1m27U44iooAoXs,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.0rc3.dist-info/licenses/LICENSE,sha256=D7RdUBHyt0ua4vSZs8H7-HIcliPTSk9zY3sNzx8fejY,1087
88
- lets_plot-4.7.0rc3.dist-info/licenses/licenses/LICENSE.FreeType,sha256=9X50Ww1fKFo_ZybMzdzAUSj_WDVNF-OkAxbWfCuUkWI,6884
89
- lets_plot-4.7.0rc3.dist-info/licenses/licenses/LICENSE.ImageMagick,sha256=Qtl-X4kle2sZStOH9HmPd7mp0EeMWOpse9JYMAEUbco,12683
90
- lets_plot-4.7.0rc3.dist-info/licenses/licenses/LICENSE.expat,sha256=Qx3QfqH_znueUlAUu_kjAG8SnuKO9c3_wEj44-s5GRw,1165
91
- lets_plot-4.7.0rc3.dist-info/licenses/licenses/LICENSE.fontconfig,sha256=xq6T3fQdG_kYW4hDWk1-2trKYQG0rb5AIlCqITF4Dmw,8816
92
- lets_plot-4.7.0rc3.dist-info/METADATA,sha256=VY9OddQImQ8pv9Zxyuw1H8njMj3MFlAThCsCkW8CUSQ,11723
93
- lets_plot-4.7.0rc3.dist-info/WHEEL,sha256=JLOMsP7F5qtkAkINx5UnzbFguf8CqZeraV8o04b0I8I,101
94
- lets_plot-4.7.0rc3.dist-info/top_level.txt,sha256=ID-ORXUWN-oVZmD4YFy1rQVm2QT1D-MlGON3vdxqgpY,34
95
- lets_plot-4.7.0rc3.dist-info/RECORD,,