Skip to content

Update dependency org.jetbrains.lets-plot:lets-plot-image-export to v4 - #22

Open
renovate[bot] wants to merge 3 commits into
mainfrom
renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x
Open

Update dependency org.jetbrains.lets-plot:lets-plot-image-export to v4#22
renovate[bot] wants to merge 3 commits into
mainfrom
renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x

Conversation

@renovate

@renovate renovate Bot commented Jul 11, 2024

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
org.jetbrains.lets-plot:lets-plot-image-export 2.5.14.8.2 age confidence

Release Notes

JetBrains/lets-plot (org.jetbrains.lets-plot:lets-plot-image-export)

v4.8.2

Fixed
  • Hyperlinks support for lets-plot-compose.
  • Colab no longer rendering lets-plot with empty setup HTML [#​1436]

v4.8.1

Fixed
  • saving plots as png takes a very long time [#​1423].
  • stat_ecdf() takes a very long time for even moderately sized datasets [#​1424].
  • lets-plot plots are not displayed in plots pane [PST-8170].
  • inconsistencies in theme/flavor inheritance in gggrid() subplots.

v4.8.0

Added
  • Geometries:

  • Plot Layout:

    • The legend automatically wraps to prevent overlap - up to 15 rows for vertical legends and 5 columns for horizontal ones [#​1235].

      See: example notebook.

    • gggrid(): support for shared legends (parameter guides).

      See: example notebook.

  • Plot Theme:

    • flavor_standard() sets the theme's default color scheme [#​1277].

      Use to override other flavors or make defaults explicit.

      See: example notebook.

    • theme_gray() as an alias for theme_grey().

    • legend_justification parameter of theme() accepts additional string values: 'left', 'right', 'top', and 'bottom'.

      See: example notebook.

    • Support for inward axis ticks.

      See: example notebook.

  • Markdown:

    • Support for target attribute for links.
    • Links now open in a new tab by default [#​1397].
  • ggtb(): size_zoomin and size_basis parameters for geometry scaling [#​1369].

    See: example notebook.

Changed
  • [BREAKING] Explicit group aesthetic now overrides default grouping behavior instead of combining with it [#​1401].

    See: example notebook.

[!IMPORTANT]
Previously, setting group='variable' would group by both the explicit variable AND any discrete
aesthetics (color, shape, etc.).
Now it groups ONLY by the explicit variable, matching ggplot2 behavior.
Use group=[var1, var2, ...] to group by multiple variables explicitly,
and group=[] to disable any grouping.

  • Missing values in geom_line(), geom_path(), geom_ribbon(), and geom_area() create gaps in geometries instead of being interpolated over [#​818], [#​1406].

    See: example notebook.

  • theme: the exponent_format default value changed to 'pow' - superscript powers of 10 (was e-notation).

  • The multi-layer line plot now shows tooltips for each series simultaneously, in the same way that a single-layer plot with color mapped to series does.

Fixed
  • geom_pie on geospatioal plot with map_join failes to render without explicit group aesthetic.
  • geom_density2d: NullPointerException when weight aesthetic contains None values [#​1399].
  • Tooltip shows duplicate lines when as_discrete is applied twice to the same var [#​1400].
  • geom_sina: incorrect shape in legend [#​1403].
  • geom_density2d: Incorrect processing of weighted statistics when None value occurs in the x or y column.
  • facet_wrap: indescriptive error when the specified facet variable is not present in the dataset [#​1409].
  • Integer numbers in facet strip titles are displayed as float [#​1386].
  • Error when using scale_identity(aesthetic="shape") [#​1212].
  • ggsave: theme option face="italic" doesn't work [#​1391].
  • Fail early if string format is incorrect [#​1410].

v4.7.3

Changed
  • ggsave(): Large plot dimensions without units now require explicit unit specification.

    When plot size exceeds 20 without specifying units (e.g., ggsave(p, 300, 400)),

    we ask to specify units explicitly:

    ggsave(p, 300, 400, unit='px') or ggsave(p, 3, 4, unit='in').
Fixed
  • ggtb() support in Swing/Batik frontend.
  • Multiline support for axis labels in polar coordinates.
  • When the plot size in ggsave() is specified in pixels, dpi now affects

    only the physical size, not the pixel dimensions as before.
  • Blocking SwingUtilities.invokeAndWait() call in plot image export (AWT backend)
Internal Memo

Lets-Plot VL spec transformer removed—relocated to another repository

v4.7.2

Added
  • Plot Layout:

    • New strip_spacing, strip_spacing_x, and strip_spacing_y parameters in theme() to control spacing between the facet strip (title bar) and the plot panel.
    • New panel_spacing, panel_spacing_x, and panel_spacing_y parameters in theme() to control spacing between plot panels in faceted plots, [#​1380].

    See: example notebook.

  • Image resolution is saved in the metadata of PNG files created with ggsave().

Changed
  • plot-image-export: switched from Batik to Graphics2D API
Fixed
  • ggsave(): memory leak when using geom_raster().
  • Incorrect physical image size when exporting PDF with ggsave() without specifying dpi.

v4.7.1

Added
  • ggsave():
    • support font synthesis for italic and bold styles.
    • px unit support for PNG and PDF formats.
    • w, h and unit parameters support for SVG [#​1368].
Changed
  • facet_wrap() now drops factor levels that do not appear in the data (i.e., empty panels) by default [#​1322].

    To keep unused factor levels, use the new drop parameter, i.e., drop=False.

    See: example notebook.

  • Removed extra spacing between facet strips and plot panels in facet_wrap() and facet_grid().

Fixed
  • geom_livemap: can't draw a path crossing the antimeridian [#​649].
  • Tooltip for a line have higher priority than points, even if the point is specified first in the layer list [#​1060].
  • geom_ribbon(): tooltip appears in the wrong place on flipped ribbon [#​1334].
  • Arrow crossing -180 longitude is split into two arrows [#​1364].
  • Coordinate limits do not work on reversed scales [#​1365]
  • Misaligned axis labels and ticks in polar coordinates.
  • Display order of fill categories not being set correctly in stacked plots? [#​1367]
  • Polars: add handling for Enum values [#​1373]
  • Unclear error when using geom_rect with discrete scales [#​1287]
  • xlim() breaks default scale_x_datetime() [#​1348]
  • scale_x_reverse breaks datetime formatting [#​1257]
  • theme(plot_title="blank") doesn't work with gggrid [#​1349]
  • theme: error parsing color value pen [#​1216]
  • Incorrect appearance of stacked density plot in polar coordinates [#​1375]

v4.7.0

Added
  • Time Series Plotting [#​278],
    [discussion],
    [#​678],
    [LPK-129]:

    • Support for Python time and date objects.
    • Support for timezone-aware datetime objects and Pandas/Polars Series.

    See: example notebook.

  • Geometries:

  • Layer Labels (Annotations):

    • Support in geom_crossbar()

      See: example notebook.

    • Support in waterfall_plot() via relative_labels and absolute_labels parameters.

      See: example notebook.

    • New inherit_color() option in annotations configuration (see example notebooks above)

  • waterfall_plot() - support for combining waterfall bars with other geometry layers [#​1344].

    See: example notebook.

  • Plot Layout:

    • New axis_text_spacing, axis_text_spacing_x, and axis_text_spacing_y parameters in theme() to control spacing between axis ticks and labels.
    • See new plot layout diagram notebook showing various layout options and their effects on plot appearance.
  • More variants to specify a color by name:

    • all HTML/CSS colors;
    • various naming styles, e.g., dark-gray, darkgrey, dark_grey, DARKGRAY, etc.;
    • grayscale colors from gray0 (black) to gray100 (white);

    See the complete list of named colors.

  • size_unit parameter in geom_point(), geom_text/label() and geom_pie() accepts two new values: 'min' and 'max' [#​260].

    'min' sets the size unit to the smaller of the unit steps along the x and y axes, while 'max' sets it to the larger.

    This allows for more flexible relative sizing of points, pies and text in plots.

    See: example notebook.

Changed
  • Native support for PNG and PDF exports [#​1268]:

    Exporting to PNG and PDF formats now uses the ImageMagick library bundled with Lets-Plot Python wheels and available out-of-the-box.

    This replaces the previous dependency on the CairoSVG library and comes with improved support for LaTeX labels rasterization.

    Related changes:

    • ggsave: the w and h parameters override plot size, allowing to specify the output image size independently of the plot size.
    • ggsave: the dpi default value changed to 300.
    • ggsave: the unit default value changed to in (inches).
  • Continuous data on discrete scales:

    Continuous data when used with discrete positional scales is no longer transformed to discrete data.

    Instead, it remains continuous, allowing for precise positioning of continuous elements relative to discrete ones.

    This resolves issues where combining discrete and continuous data in the same plot was difficult or impossible: [#​1279].

    See: example notebook.

[!TIP]
New way of handling continuous data on discrete scales could potentially break existing plots.
If you want to restore a broken plot to its original form, you can use the as_discrete() function to annotate continuous data as discrete.

  • [BREAKING] Dropped support for Python 3.8 as it is in the "end-of-life" of its release cycle.
  • [BREAKING] geom_boxplot(): when y-oriented, it now uses aesthetics xlower/xmiddle/xupper instead of lower/middle/upper [#​1319].
  • [BREAKING] waterfall_plot(): special flow_type value for label=element_text(color=...) replaced with inherit. See label in the documentation.
  • [DEPRECATED] The position_dodgev() function and the 'dodgev' value for the position parameter are deprecated and will be removed in future releases.
  • Plot layout: reduced margins and spacing for title, caption, axes, and legend.
  • Updated RGB values for lightgray and green. To restore the previous colors, use gray75 and lime, respectively.
  • waterfall_plot(): the appearance of the legend has been improved.
  • geom_violin(): tooltips are not shown in the centerline of the violin if show_half != 0.
  • geom_crossbar(): the midline is not shown in the legend when fatten is set to 0, or when there is no mapping for it.
  • geom_pointrange(): the midpoint will not be drawn if the y aesthetic is set to None.
  • geom_band(): the alpha aesthetic only affects the inner part of the geometry, as in geom_rect().
  • geom_band(): show tooltip over the whole band, not just at the edges.
Fixed
  • AWT: plot prevents wheel events from bubbling up to the parent component.
  • Added tooltip for geom_hline and geom_vline on geom_livemap [#​1056].
  • geom_boxplot: unable to draw a y-oriented plot with stat='identity' [#​1319].
  • Can't add layer which uses continuous data to a plot where other layers use discrete input [#​1323].
  • Multiline legend labels were not vertically centered with their keys [#​1331].
  • Poor alignment in legend between columns [#​1332].
  • Ordered data was re-ordered by geom_boxplot [#​1342].
  • geom_rect: fixed data conversion for geom_livemap [#​1347].
  • ggsave: incorrect output when exporting markdown demo to PNG [#​1362].
  • as_discrete() does not work with aes addition [#​1363].
  • Sec: CVE-2024-47554 (commons-io) [#​1231]

v4.6.2

Fixed
  • macOS: incorrect system libraries linkage that may lead to Lets-Plot import failure:

    libc++abi: Terminating due to typed operator new being invoked before its static initializer in libcxx has been executed.

  • geom_livemap(): map zoom freezes after multiple rapid clicks on +/- buttons [#​1315].

  • Misleading warnings when using CARTO 'base-midnight', 'base-antique' and 'base-flatblue' tilesets in livemap.

v4.6.1

Changed
  • [BREAKING] the height and height_unit parameters have been deprecated for the geom_errorbar.

  • the minimum distance between axis labels was reduced to avoid unsuitable layouts.

Fixed
  • geom_errorbar(): the plot domain is always stretched to zero, regardless of the data.

  • overlapped axis labels when using hjust/vjust or multiline text.

v4.6.0

Added
Changed
  • [DEPRECATED] class GGBunch is deprecated. Please use ggbunch() function instead.
  • Axis breaks: changed default lower_exp_bound to -7 and upper_exp_bound to 6 (same as in theme(...)).
  • Axis labels: changed default justification for rotated labels.
  • Axis labels: changed orientation of automatic vertical labels.
  • [BREAKING] geoms tile, bin2d, contour, contourf, density2d, density2df : default coordinate system changed from 'fixed' to 'cartesian'.
  • [BREAKING] tiles in geom_bin2d() are sized according to the binwidth value, not the maximum possible.
  • [BREAKING] only Lets-Plot/JS users: signature of "buildPlotFromXXX" functions changed, see current Kotlin/JS declarations:
  • [BREAKING] Maven artifacts (doesn't affect Python users):
    • artifacts platf-awt, platf-batik, platf-jfx-swing are no longer published with a "-jvm" suffix.
      Before, these artifacts could be used in dependencies either with or without the "-jvm" suffix. Now only without suffix.
    • artifact "org.jetbrains.lets-plot:deprecated-in-v4-jvm" is removed.
Fixed
  • Incorrectly rendered Area chart [#​1295].
  • Tooltip should not cover and hide the geometry that it provides info for [#​1275].
  • General purpose scale_continuous: can't use the expand parameter [#​1285].
  • Error when using stat='summary' if the data contains NaN values [#​1301].
  • Broken plot_background in gggrid [#​1124].
  • plot_background not inheriting from rect [#​1278]
  • gggrid: allow title and other labels for the entire figure [#​715].
  • ggbunch: overall title [#​321].
  • Expand discrete axis according to tile size with geom_tile [#​1284].
  • geom_bin2d implodes when the disparity in axes units is large [#​1303].
  • Livemap: parameters nudge_x and nudge_y have no effect on geom_text or geom_label [#​1048].
  • Livemap: Add zooming-in for geom_text()/geom_label() [#​1059].

v4.5.2

Changed
  • Number formatting:
    • We have aligned our specifications with D3.js (rather than Python): g format type with ~ (e.g. ~g) now truncates trailing zeros, and without ~ it doesn't.
    • The default number formatter now respects theme(exponent_format=...) settings and does not use 's' format type for large numbers.
  • Legends with more than 200 items are now not rendered.
Fixed
  • Bad precision in the default tooltip format when using coord limits [#​1134].
  • Display integer values without fractional part in tooltips [#​1186].
  • Suboptimal tooltip positioning in facets [#​1187].
  • Incorrect Y-axis layout with facets and panel_inset [#​1194].
  • Grouped plot hits the limit of 1000 and doesn't render with not-friendly exception [#​1224].
  • Kandy toPNG reports NullPointerException [#​1228]
  • lets_plot_kotlin_bridge is unable to locate libc++.1.dylib, I am using Mac m2 [#​1234].
  • Wrong formatting when type='g' for small values [#​1238].
  • Formatting when type='g' for large values throws exception [#​1239].
  • Wrong formatting when type='s' with explicit precision [#​1240].
  • Extra trim in formatted number when type='g' [#​1241].
  • Axis breaks are badly formatted if explicitly set [#​1245].
  • Badly formatted zero break for the "~g" format [#​1246].
  • How to adjust the vertical position of geom_text when using position_dodge [#​1248].
  • Incorrect result for format(9.999, ".2f") [#​1251].
  • Tooltips overlapping when not enough vertical space for them [#​1254].
  • Plot limited to 1000 lines (Internal error: IllegalStateException : Too many groups: 1099) [#​1261].
  • Nice to have tooltip to inherit formatting configured for axis [LPK-229].

v4.5.1

Changed
  • Interact refinement:
    • Dragging the plot or Livemap disables the pinned tooltip mode.
    • Double-clicking the plot or Livemap disables the pinned tooltip mode.
    • Ctrl + double-clicking the Livemap zooms in without the blinking fade-in effect.
Fixed
  • Buttons alignment in the toolbar.
  • Wheel zooming-out a plot with log positional scales crashes fast.

v4.5.0

Added
  • Python 3.13 support

  • ggtb(): enable zoom/pan interactivity on plot [#​983],[#​1019]

    See example notebook.

  • Interactive links in tooltips/labels/texts [#​1091].

    See example notebook.

  • Formatting:

    [WARNING] Subscripts and superscripts are not supported in PDF and PNG exports.

  • In theme():

    • legend_margin, legend_spacing, legend_spacing_x, legend_spacing_y, legend_box, legend_box_just, legend_box_spacing parameters [#​1180].

      See example notebook.

    • legend_key, legend_key_size, legend_key_width, legend_key_height, legend_key_spacing, legend_key_spacing_x, legend_key_spacing_y parameters [#​1181].

      See example notebook.

    • strip_background_x, strip_background_y, strip_text_x, strip_text_y parameters [#​1195].

      See example notebook.

  • Custom linetype patterns [#​1198]:

    • a list specifying the pattern of dashes and gaps used to draw the line: [dash, gap, dash, gap, ...];
    • a list with a specified offset: [offset, [dash, gap, dash, gap, ...]];
    • a string of an even number (up to eight) of hexadecimal digits specifying the lengths in consecutive positions in the string.

    See example notebook.

  • Geometries:

  • expand_limits() [#​820].

    See example notebook.

  • Support for 3-character hex color codes

Changed
  • Parameters labwidth in facet_wrap(), x_labwidth, y_labwidth in facet_grid(): the maximum label length is applied after splitting at \n separators, if present.

  • Use theme_light() as the default theme in qq_plot().

  • [BREAKING] For API deprecated in v4.0 the deprecation level raised to "Error" (only relevant for Kotlin clients).

  • [BREAKING] The 'base-midnight', 'base-antique' and 'base-flatblue' tilesets are deprecated (no longer served by CARTO) and will be removed in future releases.

Fixed
  • Better Marimo Support (via PR-2084) [#​1018].
  • Support layering aes() multiple times [#​822].
  • waterfall_plot: faceting doesn't work without a measure mapping [#​1152].
  • waterfall_plot: tooltips don't work with column names from original dataset [#​1153].
  • Legend icon background is not transparent when legend_background is set to "blank" in theme [#​1167].
  • Unable to display or save graph when using geom_path [#​1168].
  • Legend icon background should inherit the fill color of the plot panel (i.e. grey when theme_grey is used).
  • Vertex sampling uses different tolerances for objects within the same plot [#​1174].
  • sampling_vertex_vw doesn't work as expected [#​1175].
  • sampling_vertex_dp may break rings [#​1176].
  • ggmarginal: bottom boxplot is broken [#​1189].
  • Offscreen cells are sometimes not rendered in JupyterLab.
  • The legend_justification parameter doesn't work if the legend_position='top' [#​1031].
  • coord_polar: geom_point tooltips should take in account point size [#​1214].

v4.4.1

Added
Fixed
  • "cmapmpl" color scale doesn't show the entire range of colors in continuous cmap. [#​1149].
  • geom_histogram: wrong plot area when y='..density..' [#​1157].

v4.4.0

Added
Changed
  • [breaking change] guide_legend()/guide_colorbar() require keyword arguments for 'nrow'/'barwidth' and other parameters except 'title'.
  • The triangular point shape is now anchored to the data point via the centroid
  • as_discrete() is added to lets-plot wildcard import (i.e. when using from lets-plot import *)
Fixed
  • ggsave (.svg) transforms geom_text integer to float [#​626].
  • Int DataFrame column names are being converted to float string representation [#​901].
  • linetype = 0 ('blank') should make lines invisible [#​712].
  • geom_density2d: support weight aesthetic [#​791].
  • Discrete axis labels unnecessarily rotate 90 degrees when applying coord system limits.
  • Axis title via labs() breaks the date-time scale [#​1113].
  • JavaFX IllegalArgumentException: Unsupported attribute display in Pane.

v4.3.3

Added
Changed
  • [BREAKING] Dropped support for Python 3.7 as it is in the "end-of-life" of its release cycle.
Fixed
  • Livemap: improve "tiles" documentation [#​1093].
  • Undesired vertical scroller when displaying gggrid in Jupyter notebook.
  • GeoJson structure breaks if the ring start label occurs several times [#​1086].
  • theme: left margin doesn't work for the plot_title parameter [#​1101].
  • Improve border line type experience [LPK-220].

v4.3.2

Changed
  • to_svg(), to_html(): return the content as string if no "path" is given [#​1067].
Fixed
  • LP occasionally crashes when drawing polygons [#​1084].
  • Regression of issue [#​966].
  • Livemap: labels on the map look blurry [#​1045].
  • Linetype doesn't work for geom_tile() [LPK-241].

v4.3.1

Added
Fixed
  • ggmarginal(): broken coloring [#​760].
  • Incorrect 'plot_background' area (with empty space capture) [#​918].
  • geom_density2df: uneven borders [#​941].
  • DateTime is not recognised in polars.DataFrame [#​961].
  • Support geom_spoke() in geom_livemap() [#​988].
  • NASA BlueMarble tiles have become blank [#​1000].
  • Line segments in geom_density2df() do not get interpolated when used with coord_polar() [#​1037].
  • arrow on segment: reduce arrow size for short segments [#​1040].
  • arrow on curve sometimes looks weird [#​1041].
  • livemap: when release the mouse button from outside the map, it gets stuck in panning mode [#​1044].
  • Improve documentation for parameter position [#​1047].
  • Error when build geom_smooth() with se=False [#​1050].
  • Livemap: vjust implemented incorrectly [#​1051].
  • Add tooltips for geom_curve() [#​1053].
  • Incorrect position for bar annotations when specifying scale_x_reverse()/scale_y_reverse() [#​1057].
  • Missing outer bar annotations when specifying scale_x_reverse()/scale_y_reverse() [#​1058].
  • geom_density2d: the doc missing some 'computed' variables [#​1062].
  • Weird and problematic behavior : lets-plot does not respect x and y. Sizing problem ?[#​1068].
  • Plot layout breaks when marginal layers are used #​1074 [#​1074].
  • Discrete scale doesn't work for datetime data [LPK-231].
  • Add linetype parameter in elementLine() and elementRect() [LPK-235].
  • Any way to line-wrap facet labels? [LPK-237].
  • Missing marginal gridlines.
  • Cryptic error message on geom_boxplot with orientation="y" [#​600].
  • set_theme() should accept "feature list" [#​657].

v4.3.0

Added
  • coord_polar()

    The polar coordinate system is most commonly used for pie charts, but

    it can also be used for constructing Spider or Radar charts using the flat option [#​452].

    See: example notebook.

  • In the theme() function:

    • panel_inset parameter - primarily used for plots with polar coordinates.

      See: example notebook.

    • panel_border_ontop parameter - enables the drawing of panel border on top of the plot geoms.

    • panel_grid_ontop, panel_grid_ontop_x, panel_grid_ontop_y parameters - enable the drawing of grid lines on top of the plot geoms.

  • geom_curve()

    See: example notebook.

  • [UNIQUE] Visualizing graph-like data with geom_segment() and geom_curve().

    • Aesthetics size_start, size_end, stroke_start and stroke_end enable better alignment of

      segments/curves with nodes of the graph by considering the size of the nodes.

    • The spacer parameter allows for additional manual fine-tuning.

    See:

  • alpha_stroke parameter in geom_label() to enable the applying of alpha to color [#​1029].

    See: example notebook.

  • Showing plots in external browser

    The setup_show_ext() directive allows plots to be displayed in an external browser window.

Changed
  • [BREAKING] Function geom_image() is removed. Please use geom_imshow() instead.
  • Parameter axis_ontop in theme() is now True by default.
Fixed
  • coord_map() should distort tiles size to account for different unit size at different latitudes [#​331].
  • geom_errorbar(): wrong positioning of tooltips [#​992].
  • geom_path(): tooltip position interpolation [#​855].
  • Stacked bar-chart annotation: labels go out of the plot when zooming-in using coord_cartesian(xlim, ylim) [#​981].
  • Facets: "free scales" options are ignored by discrete axis [#​955].
  • Bar width is too large when x-domain is defined via x-scale limits [#​1013].
  • How to hide only main tooltip? [LPK-#​232].
  • Make middle strip in geomCrossbar() optional [LPK-233].
  • Can't set None for coord limit [#​486].
  • Scale limits don't work for bars/area [LPK-219], [#​978].
  • No gridlines when axis_ontop=True [#​1012].
  • bar-plot: do not draw bar border adjacent to the axis [#​845].
  • Displaying tooltips on a multilayer plot [#​1030].
  • Make segment geometry better suited for graphs visualization [#​572].

v4.2.0

Added
  • Support for Categoricals:

    • Support for pandas.Categorical data type [#​914].
    • The levels parameter in as_discrete() function [#​931].

    See: example notebook.

  • Support for superscript for numbers in scientific notation [#​743].

    Warning!

    Do NOT(!) use exponent_format='pow' if you are planning to export plot to a raster format (PNG,PDF).

    The CairoSVG library (which is under the hood of our ggsave() function) does not handle tspan element properly and breaks superscript notation when transforming SVG to PNG/PDF.

    More details: Kozea/CairoSVG#317

    See: example notebook.

  • Support exporting plot to a file-like object.

    Convenience methods: to_svg(), to_html(), to_png(), to_pdf() [#​885], [#​590].

    See: example notebook.

  • Sharing of X,Y-scale limits between subplots in gggrid() [#​718].

    See: example notebook.

  • geom_spoke() [#​738].

    See: example notebook.

  • scale_x_log2(), scale_y_log2() [#​922].

  • High-contrast tileset "BW" for geom_livemap().

    See: example notebook.

  • New variables computed by 'count' and 'count2d' statistics: '..sumprop..', '..sumpct..' [#​936].

    See: example notebook.

  • Support using dictionaries for breaks/labels/values customization in scale_xxx() functions [#​169], [#​882].

    See: example notebook.

  • The lablim parameter in scale_xxx() functions [#​939, #​946].

    See: example notebook.

  • label_text parameter in theme() for annotation text settings [#​930].

    See: example notebook.

  • NumberFormat: new flag ~ to trim trailing zeros.

Changed
  • [BREAKING] Function margin() is deprecated and will be removed in future releases.

    Please replace all existing usages, i.e. theme(plot_margin=margin(..)) and element_text(margin=margin(..))

    with a list or with just a number:

    • a number or list of one number - the same margin it applied to all four sides;
    • a list of two numbers - the first margin applies to the top and bottom, the second - to the left and right;
    • a list of three numbers - the first margin applies to the top, the second - to the right and left,
      the third -

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch from 0f23a72 to 4beef73 Compare July 12, 2024 21:51
@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch from 4beef73 to f0c36ed Compare August 2, 2024 17:08
@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch from f0c36ed to 9755217 Compare August 21, 2024 18:20
@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch from 9755217 to d242d8c Compare October 8, 2024 13:54
@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch 2 times, most recently from 0c591b5 to b589de0 Compare October 25, 2024 18:23
@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch from b589de0 to 7876da6 Compare December 13, 2024 19:07
@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch 2 times, most recently from d1def7f to b76ae4e Compare March 7, 2025 18:15
@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch from b76ae4e to f7c4b82 Compare March 28, 2025 16:35
@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch from f7c4b82 to 87c943c Compare July 17, 2025 20:58
@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch from 87c943c to c34e155 Compare August 13, 2025 19:13
@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch from c34e155 to 91c414e Compare September 2, 2025 00:13
@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch from 91c414e to e599e79 Compare September 13, 2025 23:09
@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch from e599e79 to 17cdd20 Compare March 1, 2026 18:12
@renovate
renovate Bot force-pushed the renovate/org.jetbrains.lets-plot-lets-plot-image-export-4.x branch from 17cdd20 to 697f0e0 Compare March 5, 2026 09:14
@renovate

renovate Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant