lets-plot 4.4.1__cp311-cp311-win_amd64.whl → 4.5.0rc1__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.
- lets_plot/_version.py +1 -1
- lets_plot/bistro/qq.py +20 -3
- lets_plot/bistro/waterfall.py +8 -3
- lets_plot/export/ggsave_.py +21 -1
- lets_plot/package_data/lets-plot.min.js +1 -1
- lets_plot/plot/__init__.py +3 -1
- lets_plot/plot/core.py +11 -5
- lets_plot/plot/expand_limits_.py +78 -0
- lets_plot/plot/facet.py +7 -3
- lets_plot/plot/geom.py +409 -92
- lets_plot/plot/geom_function_.py +6 -2
- lets_plot/plot/geom_imshow_.py +1 -0
- lets_plot/plot/gggrid_.py +5 -4
- lets_plot/plot/ggtb_.py +43 -1
- lets_plot/plot/label.py +2 -2
- lets_plot/plot/sampling.py +14 -4
- lets_plot/plot/stat.py +20 -4
- lets_plot/plot/subplots.py +1 -1
- lets_plot/plot/theme_.py +87 -11
- {lets_plot-4.4.1.dist-info → lets_plot-4.5.0rc1.dist-info}/METADATA +2 -1
- {lets_plot-4.4.1.dist-info → lets_plot-4.5.0rc1.dist-info}/RECORD +25 -24
- {lets_plot-4.4.1.dist-info → lets_plot-4.5.0rc1.dist-info}/WHEEL +1 -1
- lets_plot_kotlin_bridge.cp311-win_amd64.pyd +0 -0
- {lets_plot-4.4.1.dist-info → lets_plot-4.5.0rc1.dist-info}/LICENSE +0 -0
- {lets_plot-4.4.1.dist-info → lets_plot-4.5.0rc1.dist-info}/top_level.txt +0 -0
lets_plot/plot/geom_function_.py
CHANGED
|
@@ -75,7 +75,8 @@ def _get_mapping(mapping):
|
|
|
75
75
|
return aes(**{**x_mapping_dict, **mapping_dict, **y_mapping_dict})
|
|
76
76
|
|
|
77
77
|
|
|
78
|
-
def geom_function(mapping=None, *, data=None, stat=None, geom=None, position=None, show_legend=None,
|
|
78
|
+
def geom_function(mapping=None, *, data=None, stat=None, geom=None, position=None, show_legend=None, inherit_aes=None,
|
|
79
|
+
manual_key=None,
|
|
79
80
|
tooltips=None,
|
|
80
81
|
fun=None, xlim=None, n=None,
|
|
81
82
|
color_by=None,
|
|
@@ -105,6 +106,8 @@ def geom_function(mapping=None, *, data=None, stat=None, geom=None, position=Non
|
|
|
105
106
|
'stack' or 'identity', or the result of calling a position adjustment function (e.g., `position_dodge()` etc.).
|
|
106
107
|
show_legend : bool, default=True
|
|
107
108
|
False - do not show legend for this layer.
|
|
109
|
+
inherit_aes : bool, default=True
|
|
110
|
+
False - do not combine the layer aesthetic mappings with the plot shared mappings.
|
|
108
111
|
manual_key : str or `layer_key`
|
|
109
112
|
The key to show in the manual legend.
|
|
110
113
|
Specify text for the legend label or advanced settings using the `layer_key()` function.
|
|
@@ -137,7 +140,7 @@ def geom_function(mapping=None, *, data=None, stat=None, geom=None, position=Non
|
|
|
137
140
|
- x : x-axis value.
|
|
138
141
|
- alpha : transparency level of a layer. Accept values between 0 and 1.
|
|
139
142
|
- color (colour) : color of the geometry. For more info see https://lets-plot.org/python/pages/aesthetics.html#color-and-fill.
|
|
140
|
-
- linetype : type of the line.
|
|
143
|
+
- linetype : type of the line. Accept codes or names (0 = 'blank', 1 = 'solid', 2 = 'dashed', 3 = 'dotted', 4 = 'dotdash', 5 = 'longdash', 6 = 'twodash'), a hex string (up to 8 digits for dash-gap lengths), or a list pattern [offset, [dash, gap, ...]] / [dash, gap, ...]. For more info see https://lets-plot.org/python/pages/aesthetics.html#line-types.
|
|
141
144
|
- size : line width.
|
|
142
145
|
|
|
143
146
|
Examples
|
|
@@ -199,6 +202,7 @@ def geom_function(mapping=None, *, data=None, stat=None, geom=None, position=Non
|
|
|
199
202
|
stat=fun_stat,
|
|
200
203
|
position=position,
|
|
201
204
|
show_legend=show_legend,
|
|
205
|
+
inherit_aes=inherit_aes,
|
|
202
206
|
manual_key=manual_key,
|
|
203
207
|
sampling=None,
|
|
204
208
|
tooltips=tooltips,
|
lets_plot/plot/geom_imshow_.py
CHANGED
lets_plot/plot/gggrid_.py
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
# Use of this source code is governed by the MIT license that can be found in the LICENSE file.
|
|
4
4
|
#
|
|
5
5
|
|
|
6
|
-
from lets_plot.plot.core import
|
|
6
|
+
from lets_plot.plot.core import PlotSpec
|
|
7
|
+
from ._global_theme import _get_global_theme
|
|
7
8
|
from .subplots import SupPlotsLayoutSpec
|
|
8
9
|
from .subplots import SupPlotsSpec
|
|
9
|
-
from ._global_theme import _get_global_theme
|
|
10
10
|
|
|
11
11
|
__all__ = ['gggrid']
|
|
12
12
|
|
|
@@ -20,7 +20,7 @@ def gggrid(plots: list, ncol: int = None, *,
|
|
|
20
20
|
vspace: float = None,
|
|
21
21
|
fit: bool = None,
|
|
22
22
|
align: bool = None
|
|
23
|
-
):
|
|
23
|
+
) -> SupPlotsSpec:
|
|
24
24
|
"""
|
|
25
25
|
Combine several plots on one figure, organized in a regular grid.
|
|
26
26
|
|
|
@@ -119,7 +119,8 @@ def gggrid(plots: list, ncol: int = None, *,
|
|
|
119
119
|
|
|
120
120
|
def _strip_theme_if_global(fig):
|
|
121
121
|
# Strip global theme options from plots in grid (see issue: #966).
|
|
122
|
-
if global_theme_options is not None and fig is not None and 'theme' in fig.props() and fig.props()[
|
|
122
|
+
if global_theme_options is not None and fig is not None and 'theme' in fig.props() and fig.props()[
|
|
123
|
+
'theme'] == global_theme_options.props():
|
|
123
124
|
if isinstance(fig, PlotSpec):
|
|
124
125
|
fig = PlotSpec.duplicate(fig)
|
|
125
126
|
fig.props().pop('theme')
|
lets_plot/plot/ggtb_.py
CHANGED
|
@@ -7,5 +7,47 @@ from .core import FeatureSpec
|
|
|
7
7
|
__all__ = ['ggtb']
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
def ggtb():
|
|
10
|
+
def ggtb() -> FeatureSpec:
|
|
11
|
+
"""
|
|
12
|
+
Add a toolbar to a chart.
|
|
13
|
+
|
|
14
|
+
This function adds a toolbar containing three tool-buttons (pan, rubber-band zoom,
|
|
15
|
+
and center-point zoom) to a chart. Each tool uses mouse-drag for its
|
|
16
|
+
specific functionality. Additionally, the mouse wheel can be used for zooming
|
|
17
|
+
in and out, regardless of the selected tool.
|
|
18
|
+
|
|
19
|
+
The toolbar includes:
|
|
20
|
+
- Pan: Drag to move the plot.
|
|
21
|
+
- Rubber-band zoom: Drag to define a rectangular area to zoom into.
|
|
22
|
+
- Center-point zoom: Drag up or down to zoom in or out from a center point.
|
|
23
|
+
- Reset button: Click to reset the plot and tools to their original state.
|
|
24
|
+
|
|
25
|
+
Double-clicking anywhere on the plot resets it to its original coordinates,
|
|
26
|
+
regardless of whether a tool is selected or not.
|
|
27
|
+
|
|
28
|
+
Limitations:
|
|
29
|
+
- The toolbar does not work with interactive maps.
|
|
30
|
+
- The toolbar is not compatible with GGBunch.
|
|
31
|
+
- The toolbar cannot be used with plots using a polar coordinate system.
|
|
32
|
+
|
|
33
|
+
Returns
|
|
34
|
+
-------
|
|
35
|
+
`FeatureSpec`
|
|
36
|
+
Toolbar feature specification.
|
|
37
|
+
|
|
38
|
+
Examples
|
|
39
|
+
--------
|
|
40
|
+
.. jupyter-execute::
|
|
41
|
+
:linenos:
|
|
42
|
+
:emphasize-lines: 7
|
|
43
|
+
|
|
44
|
+
import numpy as np
|
|
45
|
+
from lets_plot import *
|
|
46
|
+
LetsPlot.setup_html()
|
|
47
|
+
x = np.linspace(-2 * np.pi, 2 * np.pi, 100)
|
|
48
|
+
y = np.sin(x)
|
|
49
|
+
(ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + geom_point()
|
|
50
|
+
+ ggtb())
|
|
51
|
+
|
|
52
|
+
"""
|
|
11
53
|
return FeatureSpec(kind='ggtoolbar', name=None)
|
lets_plot/plot/label.py
CHANGED
lets_plot/plot/sampling.py
CHANGED
|
@@ -232,7 +232,7 @@ def sampling_group_random(n, seed=None):
|
|
|
232
232
|
return _sampling('group_random', n=n, seed=seed)
|
|
233
233
|
|
|
234
234
|
|
|
235
|
-
def sampling_vertex_vw(n):
|
|
235
|
+
def sampling_vertex_vw(n, polygon=None):
|
|
236
236
|
"""
|
|
237
237
|
Simplify a polyline using the Visvalingam-Whyatt algorithm.
|
|
238
238
|
|
|
@@ -241,6 +241,11 @@ def sampling_vertex_vw(n):
|
|
|
241
241
|
n : int
|
|
242
242
|
Number of items to return.
|
|
243
243
|
|
|
244
|
+
polygon : bool, default=None
|
|
245
|
+
If True, the input data is considered as a polygon rings.
|
|
246
|
+
If False, the input data is considered as a polyline.
|
|
247
|
+
None for auto-detection.
|
|
248
|
+
|
|
244
249
|
Returns
|
|
245
250
|
-------
|
|
246
251
|
`FeatureSpec`
|
|
@@ -275,10 +280,10 @@ def sampling_vertex_vw(n):
|
|
|
275
280
|
geom_contour(sampling=sampling_vertex_vw(150))
|
|
276
281
|
|
|
277
282
|
"""
|
|
278
|
-
return _sampling('vertex_vw', n=n)
|
|
283
|
+
return _sampling('vertex_vw', n=n, polygon=polygon)
|
|
279
284
|
|
|
280
285
|
|
|
281
|
-
def sampling_vertex_dp(n):
|
|
286
|
+
def sampling_vertex_dp(n, polygon=None):
|
|
282
287
|
"""
|
|
283
288
|
Simplify a polyline using the Douglas-Peucker algorithm.
|
|
284
289
|
|
|
@@ -287,6 +292,11 @@ def sampling_vertex_dp(n):
|
|
|
287
292
|
n : int
|
|
288
293
|
Number of items to return.
|
|
289
294
|
|
|
295
|
+
polygon : bool, default=None
|
|
296
|
+
If True, the input data is considered as a polygon rings.
|
|
297
|
+
If False, the input data is considered as a polyline.
|
|
298
|
+
None for auto-detection.
|
|
299
|
+
|
|
290
300
|
Returns
|
|
291
301
|
-------
|
|
292
302
|
`FeatureSpec`
|
|
@@ -321,7 +331,7 @@ def sampling_vertex_dp(n):
|
|
|
321
331
|
geom_contour(sampling=sampling_vertex_dp(100))
|
|
322
332
|
|
|
323
333
|
"""
|
|
324
|
-
return _sampling('vertex_dp', n=n)
|
|
334
|
+
return _sampling('vertex_dp', n=n, polygon=polygon)
|
|
325
335
|
|
|
326
336
|
|
|
327
337
|
def _sampling(name, **kwargs):
|
lets_plot/plot/stat.py
CHANGED
|
@@ -9,7 +9,8 @@ __all__ = ['stat_summary', 'stat_summary_bin', 'stat_ecdf', 'stat_sum']
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def stat_summary(mapping=None, *, data=None, geom=None,
|
|
12
|
-
position=None, show_legend=None,
|
|
12
|
+
position=None, show_legend=None, inherit_aes=None,
|
|
13
|
+
sampling=None, tooltips=None,
|
|
13
14
|
orientation=None,
|
|
14
15
|
fun=None, fun_min=None, fun_max=None,
|
|
15
16
|
quantiles=None,
|
|
@@ -35,6 +36,8 @@ def stat_summary(mapping=None, *, data=None, geom=None,
|
|
|
35
36
|
'stack' or 'identity', or the result of calling a position adjustment function (e.g., `position_dodge()` etc.).
|
|
36
37
|
show_legend : bool, default=True
|
|
37
38
|
False - do not show legend for this layer.
|
|
39
|
+
inherit_aes : bool, default=True
|
|
40
|
+
False - do not combine the layer aesthetic mappings with the plot shared mappings.
|
|
38
41
|
sampling : `FeatureSpec`
|
|
39
42
|
Result of the call to the `sampling_xxx()` function.
|
|
40
43
|
To prevent any sampling for this layer pass value "none" (string "none").
|
|
@@ -138,6 +141,7 @@ def stat_summary(mapping=None, *, data=None, geom=None,
|
|
|
138
141
|
stat='summary',
|
|
139
142
|
position=position,
|
|
140
143
|
show_legend=show_legend,
|
|
144
|
+
inherit_aes=inherit_aes,
|
|
141
145
|
sampling=sampling,
|
|
142
146
|
tooltips=tooltips,
|
|
143
147
|
orientation=orientation,
|
|
@@ -148,7 +152,8 @@ def stat_summary(mapping=None, *, data=None, geom=None,
|
|
|
148
152
|
|
|
149
153
|
|
|
150
154
|
def stat_summary_bin(mapping=None, *, data=None, geom=None,
|
|
151
|
-
position=None, show_legend=None,
|
|
155
|
+
position=None, show_legend=None, inherit_aes=None,
|
|
156
|
+
sampling=None, tooltips=None,
|
|
152
157
|
orientation=None,
|
|
153
158
|
fun=None, fun_min=None, fun_max=None,
|
|
154
159
|
quantiles=None,
|
|
@@ -177,6 +182,8 @@ def stat_summary_bin(mapping=None, *, data=None, geom=None,
|
|
|
177
182
|
'stack' or 'identity', or the result of calling a position adjustment function (e.g., `position_dodge()` etc.).
|
|
178
183
|
show_legend : bool, default=True
|
|
179
184
|
False - do not show legend for this layer.
|
|
185
|
+
inherit_aes : bool, default=True
|
|
186
|
+
False - do not combine the layer aesthetic mappings with the plot shared mappings.
|
|
180
187
|
sampling : `FeatureSpec`
|
|
181
188
|
Result of the call to the `sampling_xxx()` function.
|
|
182
189
|
To prevent any sampling for this layer pass value "none" (string "none").
|
|
@@ -290,6 +297,7 @@ def stat_summary_bin(mapping=None, *, data=None, geom=None,
|
|
|
290
297
|
stat='summarybin',
|
|
291
298
|
position=position,
|
|
292
299
|
show_legend=show_legend,
|
|
300
|
+
inherit_aes=inherit_aes,
|
|
293
301
|
sampling=sampling,
|
|
294
302
|
tooltips=tooltips,
|
|
295
303
|
orientation=orientation,
|
|
@@ -302,7 +310,8 @@ def stat_summary_bin(mapping=None, *, data=None, geom=None,
|
|
|
302
310
|
|
|
303
311
|
|
|
304
312
|
def stat_ecdf(mapping=None, *, data=None, geom=None,
|
|
305
|
-
position=None, show_legend=None,
|
|
313
|
+
position=None, show_legend=None, inherit_aes=None,
|
|
314
|
+
sampling=None, tooltips=None,
|
|
306
315
|
orientation=None,
|
|
307
316
|
n=None, pad=None,
|
|
308
317
|
color_by=None,
|
|
@@ -327,6 +336,8 @@ def stat_ecdf(mapping=None, *, data=None, geom=None,
|
|
|
327
336
|
'stack' or 'identity', or the result of calling a position adjustment function (e.g., `position_dodge()` etc.).
|
|
328
337
|
show_legend : bool, default=True
|
|
329
338
|
False - do not show legend for this layer.
|
|
339
|
+
inherit_aes : bool, default=True
|
|
340
|
+
False - do not combine the layer aesthetic mappings with the plot shared mappings.
|
|
330
341
|
sampling : `FeatureSpec`
|
|
331
342
|
Result of the call to the `sampling_xxx()` function.
|
|
332
343
|
To prevent any sampling for this layer pass value "none" (string "none").
|
|
@@ -426,6 +437,7 @@ def stat_ecdf(mapping=None, *, data=None, geom=None,
|
|
|
426
437
|
stat='ecdf',
|
|
427
438
|
position=position,
|
|
428
439
|
show_legend=show_legend,
|
|
440
|
+
inherit_aes=inherit_aes,
|
|
429
441
|
sampling=sampling,
|
|
430
442
|
tooltips=tooltips,
|
|
431
443
|
orientation=orientation,
|
|
@@ -435,7 +447,8 @@ def stat_ecdf(mapping=None, *, data=None, geom=None,
|
|
|
435
447
|
**other_args)
|
|
436
448
|
|
|
437
449
|
|
|
438
|
-
def stat_sum(mapping=None, *, data=None, geom=None, position=None, show_legend=None,
|
|
450
|
+
def stat_sum(mapping=None, *, data=None, geom=None, position=None, show_legend=None, inherit_aes=None,
|
|
451
|
+
sampling=None, tooltips=None,
|
|
439
452
|
color_by=None, fill_by=None,
|
|
440
453
|
**other_args):
|
|
441
454
|
"""
|
|
@@ -458,6 +471,8 @@ def stat_sum(mapping=None, *, data=None, geom=None, position=None, show_legend=N
|
|
|
458
471
|
'stack' or 'identity', or the result of calling a position adjustment function (e.g., `position_dodge()` etc.).
|
|
459
472
|
show_legend : bool, default=True
|
|
460
473
|
False - do not show legend for this layer.
|
|
474
|
+
inherit_aes : bool, default=True
|
|
475
|
+
False - do not combine the layer aesthetic mappings with the plot shared mappings.
|
|
461
476
|
sampling : `FeatureSpec`
|
|
462
477
|
Result of the call to the `sampling_xxx()` function.
|
|
463
478
|
To prevent any sampling for this layer pass value "none" (string "none").
|
|
@@ -534,6 +549,7 @@ def stat_sum(mapping=None, *, data=None, geom=None, position=None, show_legend=N
|
|
|
534
549
|
stat='sum',
|
|
535
550
|
position=position,
|
|
536
551
|
show_legend=show_legend,
|
|
552
|
+
inherit_aes=inherit_aes,
|
|
537
553
|
sampling=sampling,
|
|
538
554
|
tooltips=tooltips,
|
|
539
555
|
color_by=color_by,
|
lets_plot/plot/subplots.py
CHANGED
|
@@ -67,7 +67,7 @@ class SupPlotsSpec(FeatureSpec):
|
|
|
67
67
|
supplots = supplots.__add__(spec)
|
|
68
68
|
return supplots
|
|
69
69
|
|
|
70
|
-
elif isinstance(other, FeatureSpec) and other.kind in ["ggsize", "theme"]:
|
|
70
|
+
elif isinstance(other, FeatureSpec) and other.kind in ["ggsize", "theme", "ggtoolbar"]:
|
|
71
71
|
|
|
72
72
|
supplots = SupPlotsSpec.duplicate(self)
|
|
73
73
|
# ToDo: duplication!
|
lets_plot/plot/theme_.py
CHANGED
|
@@ -42,6 +42,12 @@ def theme(*,
|
|
|
42
42
|
legend_background=None,
|
|
43
43
|
legend_text=None, legend_title=None,
|
|
44
44
|
legend_position=None, legend_justification=None, legend_direction=None,
|
|
45
|
+
legend_margin=None,
|
|
46
|
+
legend_spacing=None, legend_spacing_x=None,legend_spacing_y=None,
|
|
47
|
+
legend_key=None,
|
|
48
|
+
legend_key_size=None, legend_key_width=None, legend_key_height=None,
|
|
49
|
+
legend_key_spacing=None, legend_key_spacing_x=None, legend_key_spacing_y=None,
|
|
50
|
+
legend_box=None, legend_box_just=None, legend_box_spacing=None,
|
|
45
51
|
# ToDo: other legend options...
|
|
46
52
|
|
|
47
53
|
panel_background=None,
|
|
@@ -72,8 +78,8 @@ def theme(*,
|
|
|
72
78
|
plot_title_position=None,
|
|
73
79
|
plot_caption_position=None,
|
|
74
80
|
|
|
75
|
-
strip_background=None,
|
|
76
|
-
strip_text=None,
|
|
81
|
+
strip_background=None, strip_background_x=None, strip_background_y=None,
|
|
82
|
+
strip_text=None, strip_text_x=None, strip_text_y=None,
|
|
77
83
|
# ToDo: strip.placement
|
|
78
84
|
|
|
79
85
|
axis_tooltip=None, axis_tooltip_x=None, axis_tooltip_y=None,
|
|
@@ -92,11 +98,18 @@ def theme(*,
|
|
|
92
98
|
|
|
93
99
|
Parameters
|
|
94
100
|
----------
|
|
95
|
-
exponent_format : {'e', 'pow'}, default='e'
|
|
101
|
+
exponent_format : {'e', 'pow', 'pow_full'} or tuple, default='e'
|
|
96
102
|
Format for numeric labels in scientific notation.
|
|
97
103
|
|
|
98
|
-
- e for "e" notation (e.g. 1e+6)
|
|
99
|
-
-
|
|
104
|
+
- e for "e" notation (e.g. 1e+6);
|
|
105
|
+
- pow_full for "power" notation (e.g. 1x10^6). This will enable superscript formatting for the exponent;
|
|
106
|
+
- pow works as pow_full but will shorten powers of 10 (e.g. 10^6 instead of 1x10^6).
|
|
107
|
+
|
|
108
|
+
If parameter is a tuple, then it should be a three-element tuple:
|
|
109
|
+
|
|
110
|
+
- the first element is the format - 'e', 'pow', 'pow_full';
|
|
111
|
+
- the second element is minimum exponent value from which to use scientific notation (default is -7);
|
|
112
|
+
- the third element is maximum exponent value from which to use scientific notation (default is taken from `precision` of the current formatting, see https://lets-plot.org/python/pages/formats.html).
|
|
100
113
|
|
|
101
114
|
Note that superscript is not fully support by CairoSVG library and export to PNG/PDF may produce unexpected results.
|
|
102
115
|
line : str or dict
|
|
@@ -167,6 +180,44 @@ def theme(*,
|
|
|
167
180
|
For string parameter the only possible value is 'center'.
|
|
168
181
|
legend_direction : {'horizontal', 'vertical'}
|
|
169
182
|
Layout of items in legends.
|
|
183
|
+
legend_margin : number or list of numbers
|
|
184
|
+
Margin around each legend.
|
|
185
|
+
The margin may be specified using a number or a list of numbers:
|
|
186
|
+
|
|
187
|
+
- a number or list of one number - the same margin it applied to all four sides;
|
|
188
|
+
- a list of two numbers - the first margin applies to the top and bottom, the second - to the left and right;
|
|
189
|
+
- a list of three numbers - the first margin applies to the top, the second - to the right and left, the third - to the bottom;
|
|
190
|
+
- a list of four numbers - the margins are applied to the top, right, bottom and left in that order.
|
|
191
|
+
|
|
192
|
+
It is acceptable to use None for any side; in this case, the default value for the legend margin side will be used.
|
|
193
|
+
legend_spacing : float
|
|
194
|
+
Spacing between legends.
|
|
195
|
+
legend_spacing_x : float
|
|
196
|
+
Spacing between legends in the horizontal direction, inherited from `legend_spacing`.
|
|
197
|
+
legend_spacing_y : float
|
|
198
|
+
Spacing between legends in the vertical direction, inherited from `legend_spacing`.
|
|
199
|
+
legend_key : str or dict
|
|
200
|
+
Background underneath legend keys.
|
|
201
|
+
Set 'blank' or result of `element_blank()` to draw nothing.
|
|
202
|
+
Set `element_rect()` to specify legend key background parameters, inherited from `rect`.
|
|
203
|
+
legend_key_size : float
|
|
204
|
+
Size of legend keys.
|
|
205
|
+
legend_key_width : float
|
|
206
|
+
Key background width, inherited from `legend_key_size`.
|
|
207
|
+
legend_key_height : float
|
|
208
|
+
Key background height, inherited from `legend_key_size`.
|
|
209
|
+
legend_key_spacing : float
|
|
210
|
+
Spacing between legend keys.
|
|
211
|
+
legend_key_spacing_x : float
|
|
212
|
+
Spacing between legend keys in the horizontal direction, inherited from `legend_key_spacing`.
|
|
213
|
+
legend_key_spacing_y : float
|
|
214
|
+
Spacing between legend keys in the vertical direction, inherited from `legend_key_spacing`.
|
|
215
|
+
legend_box : {'horizontal', 'vertical'}
|
|
216
|
+
Arrangement of multiple legends.
|
|
217
|
+
legend_box_just : {'left', 'right', 'bottom', 'top', 'center'}
|
|
218
|
+
Justification of each legend within the overall bounding box, when there are multiple legends.
|
|
219
|
+
legend_box_spacing : float
|
|
220
|
+
Spacing between plotting area and legend box.
|
|
170
221
|
panel_background : str or dict
|
|
171
222
|
Background of plotting area.
|
|
172
223
|
Set 'blank' or result of `element_blank()` to draw nothing.
|
|
@@ -247,10 +298,26 @@ def theme(*,
|
|
|
247
298
|
Background of facet labels.
|
|
248
299
|
Set 'blank' or result of `element_blank()` to draw nothing.
|
|
249
300
|
Set `element_rect()` to specify facet label background parameters, inherited from `rect`.
|
|
301
|
+
strip_background_x : str or dict
|
|
302
|
+
Horizontal facet background.
|
|
303
|
+
Set 'blank' or result of `element_blank()` to draw nothing.
|
|
304
|
+
Set `element_rect()` to specify facet label background parameters, inherited from `strip_background`.
|
|
305
|
+
strip_background_y : str or dict
|
|
306
|
+
Vertical facet background.
|
|
307
|
+
Set 'blank' or result of `element_blank()` to draw nothing.
|
|
308
|
+
Set `element_rect()` to specify facet label background parameters, inherited from `strip_background`.
|
|
250
309
|
strip_text : str or dict
|
|
251
310
|
Facet labels.
|
|
252
311
|
Set 'blank' or result of `element_blank()` to draw nothing and assign no space.
|
|
253
312
|
Set `element_text()` to specify facet label parameters, inherited from `text`.
|
|
313
|
+
strip_text_x : str or dict
|
|
314
|
+
Horizontal facet labels.
|
|
315
|
+
Set 'blank' or result of `element_blank()` to draw nothing and assign no space.
|
|
316
|
+
Set `element_text()` to specify facet label parameters, inherited from `strip_text`.
|
|
317
|
+
strip_text_y : str or dict
|
|
318
|
+
Vertical facet labels.
|
|
319
|
+
Set 'blank' or result of `element_blank()` to draw nothing and assign no space.
|
|
320
|
+
Set `element_text()` to specify facet label parameters, inherited from `strip_text`.
|
|
254
321
|
axis_tooltip, axis_tooltip_x, axis_tooltip_y : str or dict
|
|
255
322
|
Axes tooltips.
|
|
256
323
|
Set 'blank' or result of `element_blank()` to draw nothing and assign no space.
|
|
@@ -396,9 +463,13 @@ def element_rect(
|
|
|
396
463
|
Border color.
|
|
397
464
|
size : int
|
|
398
465
|
Border size.
|
|
399
|
-
linetype : int or str
|
|
400
|
-
Type of the line.
|
|
401
|
-
|
|
466
|
+
linetype : int or str or list
|
|
467
|
+
Type of the line. Accepts the following values:
|
|
468
|
+
|
|
469
|
+
- Codes or names: 0 = 'blank', 1 = 'solid', 2 = 'dashed', 3 = 'dotted', 4 = 'dotdash', 5 = 'longdash', 6 = 'twodash'.
|
|
470
|
+
- A string of an even number (up to eight) of hexadecimal digits, specifying the lengths in consecutive positions.
|
|
471
|
+
- A list defines the pattern of dashes and gaps, either with an offset: [offset, [dash, gap, ...]], or without an offset: [dash, gap, ...].
|
|
472
|
+
|
|
402
473
|
For more info see https://lets-plot.org/python/pages/aesthetics.html#line-types.
|
|
403
474
|
blank : bool, default=False
|
|
404
475
|
If True - draws nothing, and assigns no space.
|
|
@@ -443,9 +514,14 @@ def element_line(
|
|
|
443
514
|
Line color.
|
|
444
515
|
size : int
|
|
445
516
|
Line size.
|
|
446
|
-
linetype : int or str
|
|
447
|
-
Type of the line.
|
|
448
|
-
|
|
517
|
+
linetype : int or str or list
|
|
518
|
+
Type of the line. Accepts the following values:
|
|
519
|
+
|
|
520
|
+
- Codes or names: 0 = 'blank', 1 = 'solid', 2 = 'dashed', 3 = 'dotted', 4 = 'dotdash', 5 = 'longdash', 6 = 'twodash'.
|
|
521
|
+
- A string of an even number (up to eight) of hexadecimal digits, specifying the lengths in consecutive positions.
|
|
522
|
+
- A list defines the pattern of dashes and gaps, either with an offset: [offset, [dash, gap, ...]], or without an offset: [dash, gap, ...].
|
|
523
|
+
|
|
524
|
+
For more info see https://lets-plot.org/python/pages/aesthetics.html#line-types.
|
|
449
525
|
blank : bool, default=False
|
|
450
526
|
If True - draws nothing, and assigns no space.
|
|
451
527
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: lets-plot
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.5.0rc1
|
|
4
4
|
Summary: An open source library for statistical plotting
|
|
5
5
|
Home-page: https://lets-plot.org
|
|
6
6
|
Author: JetBrains
|
|
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
22
|
Classifier: Framework :: IPython
|
|
22
23
|
Classifier: Framework :: Jupyter
|
|
23
24
|
Classifier: Operating System :: MacOS
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
lets_plot_kotlin_bridge.cp311-win_amd64.pyd,sha256=
|
|
1
|
+
lets_plot_kotlin_bridge.cp311-win_amd64.pyd,sha256=y8MnXtgzaTxhZHFYnhJTEifGDyy3slfASq5HgpECQJc,7596544
|
|
2
2
|
lets_plot/__init__.py,sha256=JOsBQOnuJgUW3em6hRCx1bzQg9uOiTIhaAJmpJNJEwY,11480
|
|
3
3
|
lets_plot/_global_settings.py,sha256=dozwVWl2_Sg_-sWC08IYqVBhg4PCDAxHBERvD_XoWJU,7631
|
|
4
4
|
lets_plot/_kbridge.py,sha256=LCmRSeFeLFoESoVsm72QuZGFKDsRMMoN0lQF01xju1g,1250
|
|
5
5
|
lets_plot/_type_utils.py,sha256=6hyHbuAmxadW-h0AhTlHgKjQe-3g8cEhnskZ9zBnx5w,3029
|
|
6
|
-
lets_plot/_version.py,sha256=
|
|
6
|
+
lets_plot/_version.py,sha256=5vxrfsVRVPF8PAlONsrR-5XEU5s_VKjV9RmGMg_wtcM,242
|
|
7
7
|
lets_plot/mapping.py,sha256=vWWGrVgzgo1u3R8djyshSoOEuaqlqSQpEVeQNqeKWk0,3691
|
|
8
8
|
lets_plot/settings_utils.py,sha256=vKrsXMuJHR88ZZhPtQFAC-xrWKCpCPiRetfx1GpBGKU,8678
|
|
9
9
|
lets_plot/tilesets.py,sha256=8LC_GsrZd1X12rII28W1XbO7A8YfeG1AjBR8L_PPFVk,10810
|
|
@@ -12,11 +12,11 @@ lets_plot/bistro/_plot2d_common.py,sha256=E6a2QghFF8CWwUzT-iCtgqYBepCCPuwUyxcDM8
|
|
|
12
12
|
lets_plot/bistro/corr.py,sha256=8y417Osjydq1rhRatySsixRXedqWi5eD8sAIO1Rr6ZM,13126
|
|
13
13
|
lets_plot/bistro/im.py,sha256=HDpoNcqzYQrFfw40qAQQ8CvD0lQPzpNWkF93UrjLYjQ,5654
|
|
14
14
|
lets_plot/bistro/joint.py,sha256=zckvjmGRQcyK5FVAHPRXPPIQwJwnIRJ4JZA_X6UI8pU,6549
|
|
15
|
-
lets_plot/bistro/qq.py,sha256=
|
|
15
|
+
lets_plot/bistro/qq.py,sha256=lYyeSpHJ2_BZ-fmaqImPxpcReRAO8Z4lY9WGDLtdeIA,8024
|
|
16
16
|
lets_plot/bistro/residual.py,sha256=rb3Wy22jEYaTBpVkut1OYlhAy2J3nPqfxGTyhI7c9hs,12451
|
|
17
|
-
lets_plot/bistro/waterfall.py,sha256=
|
|
17
|
+
lets_plot/bistro/waterfall.py,sha256=X2ad9lIeokkJZKAoUq2WQ_YxUSBIin-VvPJEggiENj0,10509
|
|
18
18
|
lets_plot/export/__init__.py,sha256=JloMKV4OAMgxBuYg8ObByZ3LJvqcUKed1G286WLA85E,194
|
|
19
|
-
lets_plot/export/ggsave_.py,sha256=
|
|
19
|
+
lets_plot/export/ggsave_.py,sha256=fSb9C3hUUmng-NbsIrv7F_a9F7aHXH8PWrSGW3MWyjQ,4704
|
|
20
20
|
lets_plot/frontend_context/__init__.py,sha256=LALJE-5rVdEcgCP-sWTwNAVoVZB-Pr2lG8CpVn04FrY,212
|
|
21
21
|
lets_plot/frontend_context/_configuration.py,sha256=WCYuFVe1TcB2iCDP2vVG_EKZcrXwv6X9WIwWu3X0qKs,5349
|
|
22
22
|
lets_plot/frontend_context/_frontend_ctx.py,sha256=6ThMnNUp0FVKeFqnMCtOnIUSgsmC0TGQnQEUUCcRdjU,375
|
|
@@ -47,27 +47,28 @@ lets_plot/geo_data/gis/response.py,sha256=MsAk10JQe0XC-h4Cv0w7uzYxAtlx3YaSrqYXA6
|
|
|
47
47
|
lets_plot/geo_data_internals/__init__.py,sha256=ZwcoMdyQ_k9589f2D3nXXjedJpyiDR8WyqaghTh_EVQ,238
|
|
48
48
|
lets_plot/geo_data_internals/constants.py,sha256=2dViytUZPiojilhWV3UWzBAXgdHl5OoIJsNMsI0V7yU,441
|
|
49
49
|
lets_plot/geo_data_internals/utils.py,sha256=8vfDa99yq1YpVNr-RDtpCJfbrON04rIG6cugpQXnJlU,1000
|
|
50
|
-
lets_plot/package_data/lets-plot.min.js,sha256=
|
|
51
|
-
lets_plot/plot/__init__.py,sha256=
|
|
50
|
+
lets_plot/package_data/lets-plot.min.js,sha256=AHHLu-TNzzcbFh8niOJY9nEZah5Zeg1pc1x2qKVZ-yM,2753711
|
|
51
|
+
lets_plot/plot/__init__.py,sha256=GiiaHZnDDw6C2RRMSlsTbBi9hklr0VS-9j0sfvGYmHw,1779
|
|
52
52
|
lets_plot/plot/_global_theme.py,sha256=eatwhJiiqnY6mrNW0Y1NMco2e7xxldhItgj1IOkhRuI,311
|
|
53
53
|
lets_plot/plot/annotation.py,sha256=GwB_ROCZtlquHMmYZRsM1K_SXiD5WWt_kBjhAMXcxiY,7876
|
|
54
54
|
lets_plot/plot/coord.py,sha256=B4EEt6mqPERbYVwzl3VPkEym9hq_tO0LNtgdtluWQBQ,8218
|
|
55
|
-
lets_plot/plot/core.py,sha256=
|
|
56
|
-
lets_plot/plot/
|
|
55
|
+
lets_plot/plot/core.py,sha256=XTdRQ0Cn0wBypwXj3IpnGVy2i5Qj5jPaJxiSYry2sjo,32476
|
|
56
|
+
lets_plot/plot/expand_limits_.py,sha256=N9asYhhN2oaXrPJ-MHLaKfe1ui3XIeXkeN1Ho4c8eVw,2389
|
|
57
|
+
lets_plot/plot/facet.py,sha256=RvpNDZR3W4blK8rTpaIcoz_JqtkgBfJNb8srfm9Igwg,7202
|
|
57
58
|
lets_plot/plot/font_features.py,sha256=OInyzUmRbujBEeB2gxuD2O249-5htOQZi2Y_fujxpVY,2309
|
|
58
|
-
lets_plot/plot/geom.py,sha256=
|
|
59
|
+
lets_plot/plot/geom.py,sha256=l_1Cez4124tFKBq6NQnEOalU7HzbIjK44qM9dk7gC0E,340175
|
|
59
60
|
lets_plot/plot/geom_extras.py,sha256=yJ9T5hAQWnhV-KwW-a55qbDOOrLF1D28VZsHpC4aC34,1747
|
|
60
|
-
lets_plot/plot/geom_function_.py,sha256=
|
|
61
|
-
lets_plot/plot/geom_imshow_.py,sha256=
|
|
61
|
+
lets_plot/plot/geom_function_.py,sha256=jcRqhwOsaOL9wwDLvhnxODsVlf2AYzlB2LXHGypsW08,7805
|
|
62
|
+
lets_plot/plot/geom_imshow_.py,sha256=pQX2hJn3R24hMB68F-PPb0UcDtbylg2VEFD3055jFyE,15160
|
|
62
63
|
lets_plot/plot/geom_livemap_.py,sha256=X_zYxbRFQAxmGYGTWF8cemEY-eDIXSHBTvuTeWs2Yu4,12115
|
|
63
|
-
lets_plot/plot/gggrid_.py,sha256=
|
|
64
|
-
lets_plot/plot/ggtb_.py,sha256=
|
|
64
|
+
lets_plot/plot/gggrid_.py,sha256=Gi0ypt1758B0QL-m6KldgK71yxcEcAc4XqqKb65aT1Q,4625
|
|
65
|
+
lets_plot/plot/ggtb_.py,sha256=3rAQwGjVqrhw7rwea-s2kcWrcmpE3yrJ3LexC1ySZII,1719
|
|
65
66
|
lets_plot/plot/guide.py,sha256=huDbWFR4k5hmN00oF-sz-8RIv6pYyBCStCz--98qLvs,6923
|
|
66
|
-
lets_plot/plot/label.py,sha256=
|
|
67
|
+
lets_plot/plot/label.py,sha256=1_c1RWMdolYNmef8TjuPk8YtVmLU0QKY3ZG_UoOAV74,4736
|
|
67
68
|
lets_plot/plot/marginal_layer.py,sha256=auDAO5IiRpJVcqzqr31SnXJz7sQGIVbndx__qfr7JyY,6538
|
|
68
69
|
lets_plot/plot/plot.py,sha256=mS2vIt7tV1jUJI2atmerA6t1yCxGF2QqqugEqgUQPWo,8102
|
|
69
70
|
lets_plot/plot/pos.py,sha256=NxnuE--5hwQCWOEqnoQu8TFppZYXJG5m2cgWkPjmXIg,10703
|
|
70
|
-
lets_plot/plot/sampling.py,sha256=
|
|
71
|
+
lets_plot/plot/sampling.py,sha256=0DB-3hop8JUI0ZNfjML0wxi7W2EIApXGMEKQgGTGnoA,8827
|
|
71
72
|
lets_plot/plot/sandbox_.py,sha256=5wp2bkIBsihw9aIoKr8FUQZmtZbInHPCULbG5uPsMYE,571
|
|
72
73
|
lets_plot/plot/scale.py,sha256=O-b5LJhrLW_3TtbUO3qiaC0vYTHLH-0w7dMrREFF9h4,138936
|
|
73
74
|
lets_plot/plot/scale_colormap_mpl.py,sha256=E6E6nRXGGcci-_NnVqnC1fzDhm88pBXHLYZIlnMzxFg,10513
|
|
@@ -75,14 +76,14 @@ lets_plot/plot/scale_convenience.py,sha256=UOXX07wP5aARYwsOZ-6rK_RR0szhdhnThPvia
|
|
|
75
76
|
lets_plot/plot/scale_identity_.py,sha256=rMuiaI1wRleP_w8ExvaydlcWeznVJ60M-wzI2SPH7pY,24395
|
|
76
77
|
lets_plot/plot/scale_position.py,sha256=ntpPRO8PA46hGuL9GMcqq18rXqaX1hJF91cHIHxw998,47383
|
|
77
78
|
lets_plot/plot/series_meta.py,sha256=Nh-Vcq-zcg_oN4wdoHZxn6aKuScH3_5mVJ4D8LhbO3A,5621
|
|
78
|
-
lets_plot/plot/stat.py,sha256=
|
|
79
|
-
lets_plot/plot/subplots.py,sha256=
|
|
80
|
-
lets_plot/plot/theme_.py,sha256=
|
|
79
|
+
lets_plot/plot/stat.py,sha256=kQVxK7SGuWHw-78lXU8rWR9zJhei91l40ZdLmTwUeUI,22592
|
|
80
|
+
lets_plot/plot/subplots.py,sha256=euKS4m13r0Ilqu1kSBDoW1cjxgFqPRPuPiFyoERO6ro,11633
|
|
81
|
+
lets_plot/plot/theme_.py,sha256=M6oAT4gEr5zmsqtuAUSGzVQ3NjkGU0Yh_4-HIp_nCB4,29379
|
|
81
82
|
lets_plot/plot/theme_set.py,sha256=KLQSAihJU8_FmAU0at8WUAtgnIqCvU2Rd5awNhTZimo,9496
|
|
82
83
|
lets_plot/plot/tooltip.py,sha256=7vNEte2d15xmsJu1t-LkU5rCWrvWxGQAAco6ukmR2cM,16452
|
|
83
84
|
lets_plot/plot/util.py,sha256=w5PWWPPG_b3g8z9yxfodsd38Csu-qg6z_Zgmzbavsn0,8812
|
|
84
|
-
lets_plot-4.
|
|
85
|
-
lets_plot-4.
|
|
86
|
-
lets_plot-4.
|
|
87
|
-
lets_plot-4.
|
|
88
|
-
lets_plot-4.
|
|
85
|
+
lets_plot-4.5.0rc1.dist-info/LICENSE,sha256=D7RdUBHyt0ua4vSZs8H7-HIcliPTSk9zY3sNzx8fejY,1087
|
|
86
|
+
lets_plot-4.5.0rc1.dist-info/METADATA,sha256=Tm-ztOa3OF379tJiGPgfsiCUY0ayFpPQBuBo0cyBJyg,10194
|
|
87
|
+
lets_plot-4.5.0rc1.dist-info/WHEEL,sha256=tE2EWZPEv-G0fjAlUUz7IGM64246YKD9fpv4HcsDMkk,101
|
|
88
|
+
lets_plot-4.5.0rc1.dist-info/top_level.txt,sha256=ID-ORXUWN-oVZmD4YFy1rQVm2QT1D-MlGON3vdxqgpY,34
|
|
89
|
+
lets_plot-4.5.0rc1.dist-info/RECORD,,
|
|
Binary file
|
|
File without changes
|
|
File without changes
|