Skip to content

Commit a377278

Browse files
Docs 4.8.0 (#1420)
1 parent 6d19f3a commit a377278

File tree

1 file changed

+35
-37
lines changed

1 file changed

+35
-37
lines changed

README.md

Lines changed: 35 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -58,64 +58,62 @@ Also read:
5858
- [Scientific mode in PyCharm](https://www.jetbrains.com/help/pycharm/matplotlib-support.html)
5959
- [Scientific mode in IntelliJ IDEA](https://www.jetbrains.com/help/idea/matplotlib-support.html)
6060

61-
## What is new in 4.7.0
61+
## What is new in 4.8.0
6262

63-
- #### Time Series Plotting
64-
- Support for Python `time` and `date` objects.
65-
- Support for timezone-aware `datetime` objects and Pandas/Polars `Series`.
63+
- #### `geom_pointdensity()` Geometry
6664

67-
<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">
68-
69-
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/time_date_datetime.ipynb).
65+
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25e/images/geom_pointdensity.png" alt="f-25e/images/geom_pointdensity.png" width="400" height="246">
7066

71-
- #### Native support for PNG and PDF exports
72-
Exporting to PNG and PDF formats now uses the `ImageMagick` library bundled with Lets-Plot Python wheels and available out-of-the-box. <br>
73-
This replaces the previous dependency on the `CairoSVG` library and comes with improved support for LaTeX labels rasterization. <br>
67+
See [example notebook](https://lets-plot.org/releases/f-25e/geom_pointdensity.html).
68+
69+
- #### Explicit `group` aesthetic now overrides default grouping behavior instead of combining with it
7470

75-
- #### `geom_sina()` Geometry
71+
> [!IMPORTANT]
72+
> **BREAKING CHANGE:**
73+
>
74+
> Previously, setting `group='variable'` would group by both the explicit variable AND any discrete
75+
> aesthetics (color, shape, etc.). \
76+
> Now it groups ONLY by the explicit variable, matching `ggplot2` behavior. \
77+
> Use `group=[var1, var2, ...]` to group by multiple variables explicitly, \
78+
> and `group=[]` to disable any grouping.
7679
77-
<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">
80+
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25e/images/group_override_defaults.png" alt="f-25e/images/group_override_defaults.png" width="400" height="263">
7881

79-
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/geom_sina.ipynb).
82+
See [example notebook](https://lets-plot.org/releases/f-25e/group_override_defaults.html).
8083

81-
- #### `geom_text_repel()` and `geom_label_repel()` Geometries
84+
- #### `gggrid()`: support for shared legends (parameter `guides`)
8285

83-
<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">
86+
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25e/images/gggrid_legend_collect.png" alt="f-25e/images/group_override_defaults.png" width="500" height="172">
8487

85-
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/ggrepel.ipynb).
88+
See [example notebook](https://lets-plot.org/releases/f-25e/gggrid_legend_collect.html).
8689

87-
- #### `waterfall_plot()` Chart
90+
- #### Better handling of missing values in `geom_line(), geom_path(), geom_ribbon()`, and `geom_area()`
8891

89-
- Annotations support via `relative_labels` and `absolute_labels` parameters. <br>
90-
<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">
92+
<img src="https://raw.githubusercontent.com/JetBrains/lets-plot/master/docs/f-25e/images/missing_values_ribbon.png" alt="f-25e/images/missing_values_ribbon.png" width="500" height="192">
9193

92-
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/waterfall_plot_annotations.ipynb).
93-
94-
- Support for combining waterfall bars with other geometry layers. <br>
95-
<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">
94+
See [example notebook](https://lets-plot.org/releases/f-25e/missing_values_line_path_area_ribbon.html).
9695

97-
See [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/waterfall_plot_layers.ipynb).
96+
- #### `geom_histogram()`: custom bin bounds (parameter `breaks`)
9897

99-
- #### Continuous Data on Discrete Scales
98+
See [example notebook](https://lets-plot.org/releases/f-25e/geom_histogram_param_breaks.html).
10099

101-
Continuous data when used with discrete positional scales is no longer transformed to discrete data. <br>
102-
Instead, it remains continuous, allowing for precise positioning of continuous elements relative to discrete ones. <br>
103-
<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">
100+
- #### Legend automatically wraps to prevent overlap — up to 15 rows for vertical legends and 5 columns for horizontal ones
104101

105-
See: [example notebook](https://nbviewer.org/github/JetBrains/lets-plot/blob/master/docs/f-25b/numeric_data_on_discrete_scale.ipynb).
102+
See [example notebook](https://lets-plot.org/releases/f-25e/legend_wrap.html).
106103

107-
> [!TIP]
108-
> New way of handling continuous data on discrete scales could potentially break existing plots.
109-
> 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.
104+
- #### `flavor_standard()` resets the theme's default color scheme
105+
Use to override other flavors or make defaults explicit.
110106

107+
See [example notebook](https://lets-plot.org/releases/f-25e/flavor_standard.html).
111108

112-
- #### Plot Layout
113-
The default plot layout has been improved to better accommodate axis labels and titles. <br>
114-
Also, new `theme()` options `axis_text_spacing`, `axis_text_spacing_x`, and `axis_text_spacing_y` control spacing between axis ticks and labels. <br>
115-
<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">
109+
- #### `'left'`, `'right'`, `'top'`, and `'bottom'` legend justification
116110

117-
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.
111+
See [example notebook](https://lets-plot.org/releases/f-25e/legend_justification.html).
118112

113+
- #### `ggtb()`: Added `size_zoomin` and `size_basis` parameters to control point size scaling behavior when zooming (works with `geom_point` and related layers).
114+
115+
See: [example notebook](https://lets-plot.org/releases/f-25e/ggtb_size_zoomin.html).
116+
119117

120118
- #### And More
121119

0 commit comments

Comments
 (0)