lets-plot 4.4.1__cp312-cp312-win_amd64.whl → 4.5.0__cp312-cp312-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 (37) hide show
  1. lets_plot/__init__.py +1 -1
  2. lets_plot/_version.py +1 -1
  3. lets_plot/bistro/corr.py +6 -1
  4. lets_plot/bistro/joint.py +7 -2
  5. lets_plot/bistro/qq.py +30 -8
  6. lets_plot/bistro/residual.py +6 -1
  7. lets_plot/bistro/waterfall.py +12 -7
  8. lets_plot/export/ggsave_.py +21 -1
  9. lets_plot/package_data/lets-plot.min.js +1 -1
  10. lets_plot/plot/__init__.py +3 -1
  11. lets_plot/plot/annotation.py +1 -1
  12. lets_plot/plot/core.py +11 -5
  13. lets_plot/plot/expand_limits_.py +78 -0
  14. lets_plot/plot/facet.py +9 -5
  15. lets_plot/plot/geom.py +691 -183
  16. lets_plot/plot/geom_function_.py +13 -3
  17. lets_plot/plot/geom_imshow_.py +1 -0
  18. lets_plot/plot/geom_livemap_.py +32 -0
  19. lets_plot/plot/gggrid_.py +5 -4
  20. lets_plot/plot/ggtb_.py +46 -1
  21. lets_plot/plot/label.py +2 -2
  22. lets_plot/plot/sampling.py +14 -4
  23. lets_plot/plot/scale.py +40 -40
  24. lets_plot/plot/scale_colormap_mpl.py +3 -3
  25. lets_plot/plot/scale_identity_.py +11 -19
  26. lets_plot/plot/scale_position.py +14 -14
  27. lets_plot/plot/stat.py +44 -4
  28. lets_plot/plot/subplots.py +1 -1
  29. lets_plot/plot/theme_.py +93 -14
  30. lets_plot/plot/tooltip.py +1 -1
  31. lets_plot/tilesets.py +4 -69
  32. {lets_plot-4.4.1.dist-info → lets_plot-4.5.0.dist-info}/METADATA +34 -18
  33. {lets_plot-4.4.1.dist-info → lets_plot-4.5.0.dist-info}/RECORD +37 -36
  34. {lets_plot-4.4.1.dist-info → lets_plot-4.5.0.dist-info}/WHEEL +1 -1
  35. lets_plot_kotlin_bridge.cp312-win_amd64.pyd +0 -0
  36. {lets_plot-4.4.1.dist-info → lets_plot-4.5.0.dist-info}/LICENSE +0 -0
  37. {lets_plot-4.4.1.dist-info → lets_plot-4.5.0.dist-info}/top_level.txt +0 -0
@@ -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, manual_key=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,12 +106,15 @@ 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.
111
114
  tooltips : `layer_tooltips`
112
115
  Result of the call to the `layer_tooltips()` function.
113
116
  Specify appearance, style and content.
117
+ Set tooltips='none' to hide tooltips from the layer.
114
118
  fun : function
115
119
  A function of one variable in Python syntax.
116
120
  xlim : list of float, default=[0.0, 1.0]
@@ -136,10 +140,15 @@ def geom_function(mapping=None, *, data=None, stat=None, geom=None, position=Non
136
140
 
137
141
  - x : x-axis value.
138
142
  - alpha : transparency level of a layer. Accept values between 0 and 1.
139
- - 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. Codes and names: 0 = 'blank', 1 = 'solid', 2 = 'dashed', 3 = 'dotted', 4 = 'dotdash', 5 = 'longdash', 6 = 'twodash'. For more info see https://lets-plot.org/python/pages/aesthetics.html#line-types.
143
+ - color (colour) : color of the geometry. For more info see `Color and Fill <https://lets-plot.org/python/pages/aesthetics.html#color-and-fill>`__.
144
+ - 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 `Line Types <https://lets-plot.org/python/pages/aesthetics.html#line-types>`__.
141
145
  - size : line width.
142
146
 
147
+ ----
148
+
149
+ To hide axis tooltips, set 'blank' or the result of `element_blank()`
150
+ to the `axis_tooltip`, `axis_tooltip_x` or `axis_tooltip_y` parameter of the `theme()`.
151
+
143
152
  Examples
144
153
  --------
145
154
  .. jupyter-execute::
@@ -199,6 +208,7 @@ def geom_function(mapping=None, *, data=None, stat=None, geom=None, position=Non
199
208
  stat=fun_stat,
200
209
  position=position,
201
210
  show_legend=show_legend,
211
+ inherit_aes=inherit_aes,
202
212
  manual_key=manual_key,
203
213
  sampling=None,
204
214
  tooltips=tooltips,
@@ -391,6 +391,7 @@ def geom_imshow(image_data, cmap=None, *,
391
391
  xmax=ext_x1,
392
392
  ymax=ext_y1,
393
393
  show_legend=show_legend,
394
+ inherit_aes=False,
394
395
  color_by=color_by if (show_legend and greyscale) else None,
395
396
  )
396
397
 
@@ -205,6 +205,7 @@ def _prepare_tiles(tiles: Optional[Union[str, dict]]) -> Optional[dict]:
205
205
 
206
206
  if isinstance(tiles, dict):
207
207
  if tiles.get(MAPTILES_KIND) == TILES_RASTER_ZXY:
208
+ _warn_deprecated_tiles(tiles)
208
209
  return {
209
210
  OPTIONS_MAPTILES_KIND: TILES_RASTER_ZXY,
210
211
  OPTIONS_MAPTILES_URL: tiles[MAPTILES_URL],
@@ -240,6 +241,7 @@ def _prepare_tiles(tiles: Optional[Union[str, dict]]) -> Optional[dict]:
240
241
  raise ValueError('URL for tiles service is not set')
241
242
 
242
243
  if get_global_val(MAPTILES_KIND) == TILES_RASTER_ZXY:
244
+ _warn_deprecated_tiles(None)
243
245
  return {
244
246
  OPTIONS_MAPTILES_KIND: TILES_RASTER_ZXY,
245
247
  OPTIONS_MAPTILES_URL: get_global_val(MAPTILES_URL),
@@ -269,6 +271,36 @@ def _prepare_tiles(tiles: Optional[Union[str, dict]]) -> Optional[dict]:
269
271
  raise ValueError('Tile provider is not set.')
270
272
 
271
273
 
274
+ def _warn_deprecated_tiles(tiles: Union[dict, None]):
275
+ # TODO: Remove this warning in future releases.
276
+
277
+ if tiles is None:
278
+ maptiles_url = get_global_val(MAPTILES_URL)
279
+ else:
280
+ maptiles_url = tiles[MAPTILES_URL]
281
+
282
+ if not isinstance(maptiles_url, str):
283
+ return
284
+ if not maptiles_url.startswith("https://cartocdn_[abc].global.ssl.fastly.net/"):
285
+ return
286
+ if 'base-midnight' not in maptiles_url and 'base-antique' not in maptiles_url and 'base-flatblue' not in maptiles_url:
287
+ return
288
+
289
+ if tiles is None:
290
+ if not has_global_value(MAPTILES_ATTRIBUTION):
291
+ return
292
+ maptiles_attribution = get_global_val(MAPTILES_ATTRIBUTION)
293
+ else:
294
+ maptiles_attribution = tiles[MAPTILES_ATTRIBUTION]
295
+
296
+ if not isinstance(maptiles_attribution, str):
297
+ return
298
+ if not maptiles_attribution.endswith('map data: <a href="https://www.openstreetmap.org/copyright">© OpenStreetMap contributors</a> <a href="https://carto.com/attributions#basemaps">© CARTO</a>, <a href="https://carto.com/attributions">© CARTO</a>'):
299
+ return
300
+
301
+ print(f"WARN: The tileset is no longer available and the corresponding constant will be removed in future releases.")
302
+
303
+
272
304
  def _prepare_location(location: Union[str, List[float]]) -> Optional[dict]:
273
305
  if location is None:
274
306
  return None
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 FeatureSpec, PlotSpec
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()['theme'] == global_theme_options.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,50 @@ 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
+
21
+ - Pan: Drag to move the plot.
22
+ - Rubber-band zoom: Drag to define a rectangular area to zoom into.
23
+ - Center-point zoom: Drag up or down to zoom in or out from a center point.
24
+ - Reset button: Click to reset the plot and tools to their original state.
25
+
26
+ Double-clicking anywhere on the plot resets it to its original coordinates,
27
+ regardless of whether a tool is selected or not.
28
+
29
+ Limitations:
30
+
31
+ - The toolbar does not work with interactive maps.
32
+ - The toolbar is not compatible with GGBunch.
33
+ - The toolbar cannot be used with plots using a polar coordinate system.
34
+
35
+ Returns
36
+ -------
37
+ `FeatureSpec`
38
+ Toolbar feature specification.
39
+
40
+ Examples
41
+ --------
42
+ .. jupyter-execute::
43
+ :linenos:
44
+ :emphasize-lines: 8
45
+
46
+ import numpy as np
47
+ from lets_plot import *
48
+ LetsPlot.setup_html()
49
+ x = np.linspace(-2 * np.pi, 2 * np.pi, 100)
50
+ y = np.sin(x)
51
+ ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \\
52
+ geom_point() + \\
53
+ ggtb()
54
+
55
+ """
11
56
  return FeatureSpec(kind='ggtoolbar', name=None)
lets_plot/plot/label.py CHANGED
@@ -82,12 +82,12 @@ def xlab(label):
82
82
 
83
83
  def ylab(label):
84
84
  """
85
- Add label to the y axis.
85
+ Add label to the y-axis.
86
86
 
87
87
  Parameters
88
88
  ----------
89
89
  label : str
90
- The text for the y axis label.
90
+ The text for the y-axis label.
91
91
 
92
92
  Returns
93
93
  -------
@@ -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/scale.py CHANGED
@@ -56,7 +56,7 @@ def scale_shape(solid=True, name=None, breaks=None, labels=None, lablim=None, li
56
56
  - 'Num {}' -> 'Num 12.456789'
57
57
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
58
58
 
59
- For more info see https://lets-plot.org/python/pages/formats.html.
59
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
60
60
 
61
61
  Returns
62
62
  -------
@@ -143,7 +143,7 @@ def scale_manual(aesthetic, values, *,
143
143
  - 'Num {}' -> 'Num 12.456789'
144
144
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
145
145
 
146
- For more info see https://lets-plot.org/python/pages/formats.html.
146
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
147
147
 
148
148
  Returns
149
149
  -------
@@ -239,7 +239,7 @@ def scale_color_manual(values, name=None, breaks=None, labels=None, lablim=None,
239
239
  - 'Num {}' -> 'Num 12.456789'
240
240
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
241
241
 
242
- For more info see https://lets-plot.org/python/pages/formats.html.
242
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
243
243
 
244
244
  Returns
245
245
  -------
@@ -314,7 +314,7 @@ def scale_fill_manual(values, name=None, breaks=None, labels=None, lablim=None,
314
314
  - 'Num {}' -> 'Num 12.456789'
315
315
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
316
316
 
317
- For more info see https://lets-plot.org/python/pages/formats.html.
317
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
318
318
 
319
319
  Returns
320
320
  -------
@@ -387,7 +387,7 @@ def scale_size_manual(values, name=None, breaks=None, labels=None, lablim=None,
387
387
  - 'Num {}' -> 'Num 12.456789'
388
388
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
389
389
 
390
- For more info see https://lets-plot.org/python/pages/formats.html.
390
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
391
391
 
392
392
  Returns
393
393
  -------
@@ -462,7 +462,7 @@ def scale_shape_manual(values, name=None, breaks=None, labels=None, lablim=None,
462
462
  - 'Num {}' -> 'Num 12.456789'
463
463
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
464
464
 
465
- For more info see https://lets-plot.org/python/pages/formats.html.
465
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
466
466
 
467
467
  Returns
468
468
  -------
@@ -537,7 +537,7 @@ def scale_linetype_manual(values, name=None, breaks=None, labels=None, lablim=No
537
537
  - 'Num {}' -> 'Num 12.456789'
538
538
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
539
539
 
540
- For more info see https://lets-plot.org/python/pages/formats.html.
540
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
541
541
 
542
542
  Returns
543
543
  -------
@@ -613,7 +613,7 @@ def scale_alpha_manual(values, name=None, breaks=None, labels=None, lablim=None,
613
613
  - 'Num {}' -> 'Num 12.456789'
614
614
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
615
615
 
616
- For more info see https://lets-plot.org/python/pages/formats.html.
616
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
617
617
 
618
618
  Returns
619
619
  -------
@@ -706,7 +706,7 @@ def scale_continuous(aesthetic, *,
706
706
  - 'Num {}' -> 'Num 12.456789'
707
707
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
708
708
 
709
- For more info see https://lets-plot.org/python/pages/formats.html.
709
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
710
710
  scale_mapper_kind : {'identity', 'color_gradient', 'color_gradient2', 'color_gradientn', 'color_hue', 'color_grey', 'color_brewer', 'color_cmap', 'size_area'}
711
711
  The type of the scale.
712
712
  If None (the default) and the scale is color, then 'color_gradient' will be used.
@@ -793,7 +793,7 @@ def scale_fill_continuous(name=None, breaks=None, labels=None, lablim=None,
793
793
  - 'Num {}' -> 'Num 12.456789'
794
794
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
795
795
 
796
- For more info see https://lets-plot.org/python/pages/formats.html.
796
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
797
797
  scale_mapper_kind : {'color_gradient', 'color_gradient2', 'color_gradientn', 'color_hue', 'color_grey', 'color_brewer', 'color_cmap'}
798
798
  The type of color scale.
799
799
  If None (the default), then 'color_gradient' will be used.
@@ -872,7 +872,7 @@ def scale_color_continuous(name=None, breaks=None, labels=None, lablim=None, lim
872
872
  - 'Num {}' -> 'Num 12.456789'
873
873
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
874
874
 
875
- For more info see https://lets-plot.org/python/pages/formats.html.
875
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
876
876
  scale_mapper_kind : {'color_gradient', 'color_gradient2', 'color_gradientn', 'color_hue', 'color_grey', 'color_brewer', 'color_cmap'}
877
877
  The type of color scale.
878
878
  If None (the default), then 'color_gradient' will be used.
@@ -959,7 +959,7 @@ def scale_gradient(aesthetic, *,
959
959
  - 'Num {}' -> 'Num 12.456789'
960
960
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
961
961
 
962
- For more info see https://lets-plot.org/python/pages/formats.html.
962
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
963
963
 
964
964
  Returns
965
965
  -------
@@ -1042,7 +1042,7 @@ def scale_fill_gradient(low=None, high=None, name=None, breaks=None, labels=None
1042
1042
  - 'Num {}' -> 'Num 12.456789'
1043
1043
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
1044
1044
 
1045
- For more info see https://lets-plot.org/python/pages/formats.html.
1045
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
1046
1046
 
1047
1047
  Returns
1048
1048
  -------
@@ -1122,7 +1122,7 @@ def scale_color_gradient(low=None, high=None, name=None, breaks=None, labels=Non
1122
1122
  - 'Num {}' -> 'Num 12.456789'
1123
1123
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
1124
1124
 
1125
- For more info see https://lets-plot.org/python/pages/formats.html.
1125
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
1126
1126
 
1127
1127
  Returns
1128
1128
  -------
@@ -1209,7 +1209,7 @@ def scale_gradient2(aesthetic, *,
1209
1209
  - 'Num {}' -> 'Num 12.456789'
1210
1210
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
1211
1211
 
1212
- For more info see https://lets-plot.org/python/pages/formats.html.
1212
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
1213
1213
 
1214
1214
  Returns
1215
1215
  -------
@@ -1297,7 +1297,7 @@ def scale_fill_gradient2(low=None, mid=None, high=None, midpoint=0, name=None, b
1297
1297
  - 'Num {}' -> 'Num 12.456789'
1298
1298
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
1299
1299
 
1300
- For more info see https://lets-plot.org/python/pages/formats.html.
1300
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
1301
1301
 
1302
1302
  Returns
1303
1303
  -------
@@ -1382,7 +1382,7 @@ def scale_color_gradient2(low=None, mid=None, high=None, midpoint=0, name=None,
1382
1382
  - 'Num {}' -> 'Num 12.456789'
1383
1383
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
1384
1384
 
1385
- For more info see https://lets-plot.org/python/pages/formats.html.
1385
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
1386
1386
 
1387
1387
  Returns
1388
1388
  -------
@@ -1464,7 +1464,7 @@ def scale_gradientn(aesthetic, *,
1464
1464
  - 'Num {}' -> 'Num 12.456789'
1465
1465
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
1466
1466
 
1467
- For more info see https://lets-plot.org/python/pages/formats.html.
1467
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
1468
1468
 
1469
1469
  Returns
1470
1470
  -------
@@ -1546,7 +1546,7 @@ def scale_color_gradientn(colors=None, name=None, breaks=None, labels=None, labl
1546
1546
  - 'Num {}' -> 'Num 12.456789'
1547
1547
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
1548
1548
 
1549
- For more info see https://lets-plot.org/python/pages/formats.html.
1549
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
1550
1550
 
1551
1551
  Returns
1552
1552
  -------
@@ -1625,7 +1625,7 @@ def scale_fill_gradientn(colors=None, name=None, breaks=None, labels=None, labli
1625
1625
  - 'Num {}' -> 'Num 12.456789'
1626
1626
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
1627
1627
 
1628
- For more info see https://lets-plot.org/python/pages/formats.html.
1628
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
1629
1629
 
1630
1630
  Returns
1631
1631
  -------
@@ -1713,7 +1713,7 @@ def scale_hue(aesthetic, *,
1713
1713
  - 'Num {}' -> 'Num 12.456789'
1714
1714
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
1715
1715
 
1716
- For more info see https://lets-plot.org/python/pages/formats.html.
1716
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
1717
1717
 
1718
1718
  Returns
1719
1719
  -------
@@ -1803,7 +1803,7 @@ def scale_fill_hue(h=None, c=None, l=None, h_start=None, direction=None, name=No
1803
1803
  - 'Num {}' -> 'Num 12.456789'
1804
1804
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
1805
1805
 
1806
- For more info see https://lets-plot.org/python/pages/formats.html.
1806
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
1807
1807
 
1808
1808
  Returns
1809
1809
  -------
@@ -1889,7 +1889,7 @@ def scale_color_hue(h=None, c=None, l=None, h_start=None, direction=None, name=N
1889
1889
  - 'Num {}' -> 'Num 12.456789'
1890
1890
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
1891
1891
 
1892
- For more info see https://lets-plot.org/python/pages/formats.html.
1892
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
1893
1893
 
1894
1894
  Returns
1895
1895
  -------
@@ -1973,7 +1973,7 @@ def scale_discrete(aesthetic, *,
1973
1973
  - 'Num {}' -> 'Num 12.456789'
1974
1974
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
1975
1975
 
1976
- For more info see https://lets-plot.org/python/pages/formats.html.
1976
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
1977
1977
  scale_mapper_kind : {'identity', 'color_gradient', 'color_gradient2', 'color_gradientn', 'color_hue', 'color_grey', 'color_brewer', 'color_cmap', 'size_area'}
1978
1978
  The type of the scale.
1979
1979
  If None (the default) and the scale is color, then 'color_brewer' will be used.
@@ -2062,7 +2062,7 @@ def scale_fill_discrete(direction=None,
2062
2062
  - 'Num {}' -> 'Num 12.456789'
2063
2063
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
2064
2064
 
2065
- For more info see https://lets-plot.org/python/pages/formats.html.
2065
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
2066
2066
  scale_mapper_kind : {'color_gradient', 'color_gradient2', 'color_gradientn', 'color_hue', 'color_grey', 'color_brewer', 'color_cmap'}
2067
2067
  The type of color scale.
2068
2068
  If None (the default), then 'color_brewer' will be used.
@@ -2144,7 +2144,7 @@ def scale_color_discrete(direction=None,
2144
2144
  - 'Num {}' -> 'Num 12.456789'
2145
2145
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
2146
2146
 
2147
- For more info see https://lets-plot.org/python/pages/formats.html.
2147
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
2148
2148
  scale_mapper_kind : {'color_gradient', 'color_gradient2', 'color_gradientn', 'color_hue', 'color_grey', 'color_brewer', 'color_cmap'}
2149
2149
  The type of color scale.
2150
2150
  If None (the default), then 'color_brewer' will be used.
@@ -2231,7 +2231,7 @@ def scale_grey(aesthetic, *,
2231
2231
  - 'Num {}' -> 'Num 12.456789'
2232
2232
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
2233
2233
 
2234
- For more info see https://lets-plot.org/python/pages/formats.html.
2234
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
2235
2235
 
2236
2236
  Returns
2237
2237
  -------
@@ -2316,7 +2316,7 @@ def scale_fill_grey(start=None, end=None, name=None, breaks=None, labels=None, l
2316
2316
  - 'Num {}' -> 'Num 12.456789'
2317
2317
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
2318
2318
 
2319
- For more info see https://lets-plot.org/python/pages/formats.html.
2319
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
2320
2320
 
2321
2321
  Returns
2322
2322
  -------
@@ -2396,7 +2396,7 @@ def scale_color_grey(start=None, end=None, name=None, breaks=None, labels=None,
2396
2396
  - 'Num {}' -> 'Num 12.456789'
2397
2397
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
2398
2398
 
2399
- For more info see https://lets-plot.org/python/pages/formats.html.
2399
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
2400
2400
 
2401
2401
  Returns
2402
2402
  -------
@@ -2504,7 +2504,7 @@ def scale_brewer(aesthetic, *,
2504
2504
  - 'Num {}' -> 'Num 12.456789'
2505
2505
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
2506
2506
 
2507
- For more info see https://lets-plot.org/python/pages/formats.html.
2507
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
2508
2508
 
2509
2509
  Returns
2510
2510
  -------
@@ -2607,7 +2607,7 @@ def scale_fill_brewer(type=None, palette=None, direction=None, name=None, breaks
2607
2607
  - 'Num {}' -> 'Num 12.456789'
2608
2608
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
2609
2609
 
2610
- For more info see https://lets-plot.org/python/pages/formats.html.
2610
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
2611
2611
 
2612
2612
  Returns
2613
2613
  -------
@@ -2707,7 +2707,7 @@ def scale_color_brewer(type=None, palette=None, direction=None, name=None, break
2707
2707
  - 'Num {}' -> 'Num 12.456789'
2708
2708
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
2709
2709
 
2710
- For more info see https://lets-plot.org/python/pages/formats.html.
2710
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
2711
2711
 
2712
2712
  Returns
2713
2713
  -------
@@ -2824,7 +2824,7 @@ def scale_viridis(aesthetic, *,
2824
2824
  - 'Num {}' -> 'Num 12.456789'
2825
2825
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
2826
2826
 
2827
- For more info see https://lets-plot.org/python/pages/formats.html.
2827
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
2828
2828
 
2829
2829
  Returns
2830
2830
  -------
@@ -2933,7 +2933,7 @@ def scale_fill_viridis(alpha=None, begin=None, end=None, direction=None, option=
2933
2933
  - 'Num {}' -> 'Num 12.456789'
2934
2934
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
2935
2935
 
2936
- For more info see https://lets-plot.org/python/pages/formats.html.
2936
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
2937
2937
 
2938
2938
  Returns
2939
2939
  -------
@@ -3037,7 +3037,7 @@ def scale_color_viridis(alpha=None, begin=None, end=None, direction=None, option
3037
3037
  - 'Num {}' -> 'Num 12.456789'
3038
3038
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
3039
3039
 
3040
- For more info see https://lets-plot.org/python/pages/formats.html.
3040
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
3041
3041
 
3042
3042
  Returns
3043
3043
  -------
@@ -3116,7 +3116,7 @@ def scale_alpha(range=None, name=None, breaks=None, labels=None, lablim=None, li
3116
3116
  - 'Num {}' -> 'Num 12.456789'
3117
3117
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
3118
3118
 
3119
- For more info see https://lets-plot.org/python/pages/formats.html.
3119
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
3120
3120
 
3121
3121
  Returns
3122
3122
  -------
@@ -3190,7 +3190,7 @@ def scale_size(range=None, name=None, breaks=None, labels=None, lablim=None, lim
3190
3190
  - 'Num {}' -> 'Num 12.456789'
3191
3191
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
3192
3192
 
3193
- For more info see https://lets-plot.org/python/pages/formats.html.
3193
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
3194
3194
 
3195
3195
  Returns
3196
3196
  -------
@@ -3265,7 +3265,7 @@ def scale_size_area(max_size=None, name=None, breaks=None, labels=None, lablim=N
3265
3265
  - 'Num {}' -> 'Num 12.456789'
3266
3266
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
3267
3267
 
3268
- For more info see https://lets-plot.org/python/pages/formats.html.
3268
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
3269
3269
 
3270
3270
  Returns
3271
3271
  -------
@@ -3345,7 +3345,7 @@ def scale_linewidth(range=None, name=None, breaks=None, labels=None, lablim=None
3345
3345
  - 'Num {}' -> 'Num 12.456789'
3346
3346
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
3347
3347
 
3348
- For more info see https://lets-plot.org/python/pages/formats.html.
3348
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
3349
3349
 
3350
3350
  Returns
3351
3351
  -------
@@ -3419,7 +3419,7 @@ def scale_stroke(range=None, name=None, breaks=None, labels=None, lablim=None, l
3419
3419
  - 'Num {}' -> 'Num 12.456789'
3420
3420
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
3421
3421
 
3422
- For more info see https://lets-plot.org/python/pages/formats.html.
3422
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
3423
3423
 
3424
3424
  Returns
3425
3425
  -------
@@ -93,7 +93,7 @@ def scale_cmapmpl(aesthetic, *,
93
93
  - 'Num {}' -> 'Num 12.456789'
94
94
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
95
95
 
96
- For more info see https://lets-plot.org/python/pages/formats.html.
96
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
97
97
 
98
98
  Returns
99
99
  -------
@@ -176,7 +176,7 @@ def scale_fill_cmapmpl(cmap, *,
176
176
  - 'Num {}' -> 'Num 12.456789'
177
177
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
178
178
 
179
- For more info see https://lets-plot.org/python/pages/formats.html.
179
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
180
180
 
181
181
  Returns
182
182
  -------
@@ -255,7 +255,7 @@ def scale_color_cmapmpl(cmap, *,
255
255
  - 'Num {}' -> 'Num 12.456789'
256
256
  - 'TTL: {.2f}$' -> 'TTL: 12.45$'
257
257
 
258
- For more info see https://lets-plot.org/python/pages/formats.html.
258
+ For more info see `Formatting <https://lets-plot.org/python/pages/formats.html>`__.
259
259
 
260
260
  Returns
261
261
  -------