Changelog
Unreleased
0.21.18 - 2024-12-12 {#0.21.18-2024-12-12}
- Allow for user defined recipes to be used in SpecApi #4655.
0.21.17 - 2024-12-05 {#0.21.17-2024-12-05}
Added
backendandupdatekwargs toshow#4558Disabled unit prefix conversions for compound units (e.g.
u"m/s") to avoid generating incorrect units. #4583Added kwarg to rotate Toggle #4445
Fixed orientation of environment light textures in RPRMakie #4629.
Fixed uint16 overflow for over ~65k elements in WGLMakie picking #4604.
Improved performance for line plot in CairoMakie #4601.
Prevent more default actions when canvas has focus #4602.
Fixed an error in
convert_argumentsfor PointBased plots and 3D polygons #4585.Fixed polygon rendering issue of
crossbar(..., show_notch = true)in CairoMakie #4587.Fixed
colorbuffer(axis)forpx_per_unit != 1#4574.Fixed render order of Axis3 frame lines in CairoMakie #4591
Fixed color mapping between
contourfandColorbar#4618Fixed an incorrect comparison in CairoMakie's line clipping code which can cause line segments to disappear #4631
Added PointBased conversion for
Vector{MultiLineString}#4599Added color conversions for tuples, Points and Vecs #4599
Added conversions for 1 and 2 value paddings in
Labelandtooltip#4599Fixed
NaNin scatter rotation and markersize breaking Cairo state #4599Fixed heatmap cells being 0.5px/units too large in CairoMakie 4633
Fix bounds error when recording video with WGLMakie #4639.
Add
axis.(x/y)ticklabelspace = :max_auto, to only grow tickspace but never shrink to reduce jitter #4642.The error shown for invalid attributes will now also show suggestions for nearby attributes (if there are any) #4394.
Add (x/y)axislinks to S.GridLayout and make sure limits don't reset when linking axes #4643.
0.21.16 - 2024-11-06 {#0.21.16-2024-11-06}
Added
origin!()to transformation so that the reference point ofrotate!()andscale!()can be modified #4472Correctly render the tooltip triangle #4560.
Introduce
isclosed(scene), conditionally useBonito.LargeUpdate#4569.Allow plots to move between scenes in SpecApi #4132.
Added empty constructor to all backends for
Screenallowingdisplay(Makie.current_backend().Screen(), fig)#4561.Added
subsupandleft_subsupfunctions that offer stacked sub- and superscripts forrichtext which means this style can be used with arbitrary fonts and is not limited to fonts supported by MathTeXEngine.jl #4489.Added the
jitter_widthandside_nudgeattributes to theraincloudplot definition, so that they can be used as kwargs #4517Expand PlotList plots to expose their child plots to the legend interface, allowing
axislegendshow plots within PlotSpecs as individual entries. #4546Implement S.Colorbar(plotspec) #4520.
Fixed a hang when
Recordwas created inside a closure passed toIOCapture.capture#4562.Added logical size annotation to
text/htmlinline videos so that sizes are appropriate independent of the currentpx_per_unitvalue #4563.
0.21.15 - 2024-10-25 {#0.21.15-2024-10-25}
Allowed creation of
Legendwith entries that have no legend elements #4526.Improved CairoMakie's 2D mesh drawing performance by ~30% #4132.
Allow
widthto be set per box inboxplot#4447.For
Textboxes in which a fixed width is specified, the text is now scrolled if the width is exceeded #4293Changed image, heatmap and surface picking indices to correctly index the relevant matrix arguments. #4459
Improved performance of
recordby avoiding unnecessary copying in common cases #4475.Fixed usage of
AggMean()and other aggregations operating on 3d data fordatashader#4346.Fixed forced rasterization when rendering figures with
Axis3to svg #4463.Changed default for
circular_rotationin Camera3D to false, so that the camera doesn't change rotation direction anymore 4492Fixed
pick(scene, rect2)in WGLMakie #4488Fixed resizing of
surfacedata not working correctly. (I.e. drawing out-of-bounds data or only drawing part of the data.) #4529
0.21.14 - 2024-10-11 {#0.21.14-2024-10-11}
Fixed relocatability of GLMakie #4461.
Fixed relocatability of WGLMakie #4467.
Fixed
spacekeyword forbarplot#4435.
0.21.13 - 2024-10-07 {#0.21.13-2024-10-07}
Optimize SpecApi, re-use Blocks better and add API to access the created block objects #4354.
Fixed
merge(attr1, attr2)modifying nested attributes inattr1#4416Fixed issue with CairoMakie rendering scene backgrounds at the wrong position #4425
Fixed incorrect inverse transformation in
position_on_plotfor lines, causing incorrect tooltip placement in DataInspector #4402Added new
Checkboxblock #4336.Added ability to override legend element attributes by pairing labels or plots with override attributes #4427.
Added threshold before a drag starts which improves false negative rates for clicks.
Buttoncan now trigger on click and not mouse-down which is the canonical behavior in other GUI systems #4336.PolarAxisfont size now defaults to global figurefontsizein the absence of specificAxistheming #4314MultiplesTicksaccepts new optionstrip_zero=true, allowing labels of the form0xto be0#4372Make near/far of WGLMakie JS 3d camera dynamic, for better depth_shift scaling #4430.
0.21.12 - 2024-09-28 {#0.21.12-2024-09-28}
Fix NaN handling in WGLMakie #4282.
Show DataInspector tooltip on NaN values if
nan_colorhas been set to other than:transparent#4310Fix
linestylenot being used intriplot#4332Invalid keyword arguments for
Blocks (e.g.AxisandColorbar) now throw errors and show suggestions rather than simply throwing #4392Fix voxel clipping not being based on voxel centers #4397
Parsing
Qandqcommands in svg paths withBezierPathis now supported #4413
0.21.11 - 2024-09-13 {#0.21.11-2024-09-13}
0.21.10 - 2024-09-12 {#0.21.10-2024-09-12}
Introduce
heatmap(Resampler(large_matrix)), allowing to show big images interactively #4317.Make sure we wait for the screen session #4316.
Fix for absrect #4312.
Fix attribute updates for SpecApi and SpecPlots (e.g. ecdfplot) #4265.
Bring back
polyconvert arguments for matrix with points as row #4258.Fix gl_ClipDistance related segfault on WSL with GLMakie #4270.
Added option
label_position = :centerto place labels centered over each bar #4274.plotfunc()andfunc2type()support functions ending with!#4275.Fixed Boundserror in clipped multicolor lines in CairoMakie #4313
Fix float precision based assertions error in GLMakie.volume #4311
Support images with reversed axes #4338
0.21.9 - 2024-08-27 {#0.21.9-2024-08-27}
- Hotfix for colormap + color updates #4258.
0.21.8 - 2024-08-26 {#0.21.8-2024-08-26}
Fix selected list in
WGLMakie.pick_sorted#4136.Apply px per unit in
pick_closest/pick_sorted#4137.Support plot(interval, func) for rangebars and band #4102.
Fixed the broken OpenGL state cleanup for clip_planes which may cause plots to disappear randomly #4157
Reduce updates for image/heatmap, improving performance #4130.
Add an informative error message to
savewhen no backend is loaded #4177Fix rendering of
bandwith NaN values #4178.Fix plotting of lines with OffsetArrays across all backends #4242.
0.21.7 - 2024-08-19 {#0.21.7-2024-08-19}
- Hot fix for 1D heatmap #4147.
0.21.6 - 2024-08-14 {#0.21.6-2024-08-14}
Fix RectangleZoom in WGLMakie #4127
Bring back fastpath for regular heatmaps #4125
Data inspector fixes (mostly for bar plots) #4087
Added "clip_planes" as a new generic plot and scene attribute. Up to 8 world space clip planes can be specified to hide sections of a plot. #3958
Updated handling of
modelmatrices with active Float32 rescaling. This should fix issues with Float32-unsafe translations or scalings of plots, as well as rotated plots in Float32-unsafe ranges. #4026Added
events.tickto allow linking actions like animations to the renderloop. #3948Added the
uv_transformattribute for meshscatter, mesh, surface and image #1406.Added the ability to use textures with
meshscatterin WGLMakie #1406.Don't remove underlying VideoStream file when doing save() #3883.
Fix label/legend for plotlist #4079.
Fix wrong order for colors in RPRMakie #4098.
Fixed incorrect distance calculation in
pick_closestin WGLMakie #4082.Suppress keyboard shortcuts and context menu in JupyterLab output #4068.
Introduce stroke_depth_shift + forward normal depth_shift for Poly #4058.
Use linestyle for Poly and Density legend elements #4000.
Bring back interpolation attribute for surface #4056.
Improved accuracy of framerate settings in GLMakie #3954
Fix label_formatter being called twice in barplot #4046.
Fix error with automatic
highcliporlowclipand scalar colors #4048.Correct a bug in the
projectfunction when projecting using aScene. #3909.Add position for
pieplot #4027.Correct a method ambiguity in
insert!which was causingPlotListto fail on CairoMakie. #4038Delaunay triangulations created via
tricontourf,triplot, andvoronoiplotno longer use any randomisation in the point insertion order so that results are unique. #4044Improve content scaling support for Wayland and fix incorrect mouse scaling on mac #4062
Fix:
bandignored itsalphaargument in CairoMakieFix
marker=FastPixel()makersize and markerspace, improvespyrecipe #4043.Fixed
invert_normalsfor surface plots in CairoMakie #4021.Improve support for embedding GLMakie. #4073
Update JS OrbitControls to match Julia OrbitControls #4084.
Fix
select_point()#4101.Fix
absrect()andselect_rectangle()#4110.Allow segment-specific radius for
pieplot #4028.
0.21.5 - 2024-07-07 {#0.21.5-2024-07-07}
Fixed tuple argument for
WGLMakie.activate!(resize_to=(:parent, nothing))#4009.validate plot attributes later, for axis specific plot attributes #3974.
0.21.4 - 2024-07-02 {#0.21.4-2024-07-02}
Fixed support for GLFW 3.4 on OSX #3999.
Changed camera variables to Float64 for increased accuracy #3984
Allow CairoMakie to render
polyoverloads that internally don't use two child plots #3986.Fixes for Menu and DataInspector #3975.
Add line-loop detection and rendering to GLMakie and WGLMakie #3907.
0.21.3 - 2024-06-17 {#0.21.3-2024-06-17}
Fix stack overflows when using
markerspace = :datawithscatter#3960.CairoMakie: Fix broken SVGs when using non-interpolated image primitives, for example Colorbars, with recent Cairo versions #3967.
CairoMakie: Add argument
pdf_versionto restrict the PDF version when saving a figure as a PDF #3845.Fix DataInspector using invalid attribute strokewidth for plot type Wireframe #3917.
CairoMakie: Fix incorrect scaling factor for SVGs with Cairo_jll 1.18 #3964.
Fixed use of Textbox from Bonito #3924
0.21.2 - 2024-05-22 {#0.21.2-2024-05-22}
- Added
cycleto general attribute allowlist so that it works also with plot types that don't set one in their theme #3879.
0.21.1 - 2024-05-21 {#0.21.1-2024-05-21}
boundingboxnow relies onapply_transform(transform, data_limits(plot))rather than transforming the corner points of the bounding box #3856.Adjusted
Axislimits to consider transformations more consistently #3864.Fix problems with incorrectly disabled attributes in recipes #3870, #3866.
Fix RPRMakie with Material #3872.
Support the loop option in html video output #3697.
0.21.0 - 2024-05-08 {#0.21.0-2024-05-08}
Add
voxelsplot #3527.Added supported markers hint to unsupported marker warn message #3666.
Fixed bug in CairoMakie line drawing when multiple successive points had the same color #3712.
Remove StableHashTraits in favor of calculating hashes directly with CRC32c #3667.
Breaking (sort of) Added a new
@recipevariant which allows documenting attributes directly where they are defined and validating that all attributes are known whenever a plot is created. This is not breaking in the sense that the API changes, but user code is likely to break because of misspelled attribute names etc. that have so far gone unnoticed.Add axis converts, enabling unit/categorical support and more #3226.
Breaking Streamlined
data_limitsandboundingbox#3671data_limitsnow only considers plot positions, completely ignoring transformationsboundingbox(p::Text)is deprecated in favor ofboundingbox(p::Text, p.markerspace[]). The more internal methods usestring_boundingbox(p). #3723boundingboxoverwrites must now include a secondary space argument to workboundingbox(plot, space::Symbol = :data)#3723boundingboxnow always considertransform_funcandmodeldata_limits(::Scatter)andboundingbox(::Scatter)now consider marker transformations #3716
Breaking Improved Float64 compatibility of Axis #3681
This added an extra conversion step which only takes effect when Float32 precision becomes relevant. In those cases code using
project()functions will be wrong as the transformation is not applied. Useproject(plot_or_scene, ...)or apply the conversion yourself beforehand withMakie.f32_convert(plot_or_scene, transformed_point)and usepatched_model = Makie.patch_model(plot_or_scene, model).Makie.to_world(point, matrix, resolution)has been deprecated in favor ofMakie.to_world(scene_or_plot, point)to include float32 conversions.
Breaking Reworked line shaders in GLMakie and WGLMakie #3558
GLMakie: Removed support for per point linewidths
GLMakie: Adjusted dots (e.g. with
linestyle = :dot) to bend across a jointGLMakie: Adjusted linestyles to scale with linewidth dynamically so that dots remain dots with changing linewidth
GLMakie: Cleaned up anti-aliasing for truncated joints
WGLMakie: Added support for linestyles
WGLMakie: Added line joints
WGLMakie: Added native anti-aliasing which generally improves quality but introduces outline artifacts in some cases (same as GLMakie)
Both: Adjusted handling of thin lines which may result in different color intensities
Fixed an issue with lines being drawn in the wrong direction in 3D (with perspective projection) #3651.
Breaking Renamed attribute
rotationstorotationforscatterandmeshscatterwhich had been inconsistent with the otherwise singular naming scheme and other plots liketext#3724.Fixed
contourfbug where n levels would sometimes miss the uppermost value, causing gaps #3713.Added
scaleattribute toviolin#3352.Use label formatter in barplot #3718.
Fix the incorrect shading with non uniform markerscale in meshscatter #3722
Add
scale_to=:flipoption tohist, which flips the direction of the bars #3732Fixed an issue with the texture atlas not updating in WGLMakie after display, causing new symbols to not show up #3737
Added
linecapandjoinstyleattributes for lines and linesegments. Also normalizedmiter_limitto 60° across all backends. #3771
0.20.10 2024-05-07 {#0.20.10-2024-05-07}
Loosened type restrictions for potentially array-valued colors in
Axisattributes likexticklabelcolor#3826.Added support for intervals for specifying axis limits #3696
Added recipes for plotting intervals to
Band,Rangebars,H/VSpan3695Documented
WilkinsonTicks#3819.Added
axislegend(ax, "title")method #3808.Improved thread safety of rendering with CairoMakie (independent
Scenes only) by locking FreeType handles #3777.Adds a tutorial for how to make recipes work with new types #3816.
Provided an interface to convert markers in CairoMakie separately (
cairo_scatter_marker) so external packages can overload it. #3811Updated to DelaunayTriangulation v1.0 #3787.
Added methods
hidedecorations!,hiderdecorations!,hidethetadecorations!andhidespines!forPolarAxisaxes #3823.Added
loopoption support for HTML outputs when recording videos withrecord#3697.
0.20.9 - 2024-03-29 {#0.20.9-2024-03-29}
Added supported markers hint to unsupported marker warn message #3666.
Fixed bug in CairoMakie line drawing when multiple successive points had the same color #3712.
Remove StableHashTraits in favor of calculating hashes directly with CRC32c #3667.
Fixed
contourfbug where n levels would sometimes miss the uppermost value, causing gaps #3713.Added
scaleattribute toviolin#3352.Use label formatter in barplot #3718.
Fix the incorrect shading with non uniform markerscale in meshscatter #3722
Add
scale_to=:flipoption tohist, which flips the direction of the bars #3732Fixed an issue with the texture atlas not updating in WGLMakie after display, causing new symbols to not show up #3737
0.20.8 - 2024-02-22 {#0.20.8-2024-02-22}
Fixed excessive use of space with HTML image outputs #3642.
Fixed bugs with format strings and add new features by switching to Format.jl #3633.
Fixed an issue where CairoMakie would unnecessarily rasterize polygons #3605.
Added
PointBasedconversion trait toscatterlinesrecipe #3603.Multiple small fixes for
map_latest,WGLMakiepicking andPlotSpec#3637.Fixed PolarAxis
rticksbeing incompatible with rich text. #3615Fixed an issue causing lines, scatter and text to not scale with resolution after deleting plots in GLMakie. #3649
0.20.7 - 2024-02-04 {#0.20.7-2024-02-04}
Equalized alignment point of mirrored ticks to that of normal ticks #3598.
Fixed stack overflow error on conversion of gridlike data with
missings #3597.Fixed mutation of CairoMakie src dir when displaying png files #3588.
Added better error messages for plotting into
FigureAxisPlotandAxisPlotas Plots.jl users are likely to do #3596.Added compat bounds for IntervalArithmetic.jl due to bug with DelaunayTriangulation.jl #3595.
Removed possibility of three-argument
barplot#3574.
0.20.6 - 2024-02-02 {#0.20.6-2024-02-02}
Fix issues with Camera3D not centering #3582
Allowed creating legend entries from plot objects with scalar numbers as colors #3587.
0.20.5 - 2024-01-25 {#0.20.5-2024-01-25}
Use plot plot instead of scene transform functions in CairoMakie, fixing missplaced h/vspan. #3552
Fix error printing on shader error #3530.
Update pagefind to 1.0.4 for better headline search #3534.
Remove unnecessary deps, e.g. Setfield 3546.
Don't clear args, rely on delete deregister_callbacks #3543.
Add interpolate keyword for Surface #3541.
Fix a DataInspector bug if inspector_label is used with RGB images #3468.
0.20.4 - 2024-01-04 {#0.20.4-2024-01-04}
Changes for Bonito rename and WGLMakie docs improvements #3477.
Add stroke and glow support to scatter and text in WGLMakie #3518.
Fix clipping issues with Camera3D when zooming in #3529
0.20.3 - 2023-12-21 {#0.20.3-2023-12-21}
Add
depthsortingas a hidden attribute for scatter plots in GLMakie as an alternative fix for outline artifacts. #3432Disable SDF based anti-aliasing in scatter, text and lines plots when
fxaa = truein GLMakie. This allows removing outline artifacts at the cost of quality. #3408DataInspector Fixes: Fixed depth order, positional labels being in transformed space and
:inspector_clearnot getting called when moving from one plot to another. #3454Fixed bug in GLMakie where the update from a (i, j) sized GPU buffer to a (j, i) sized buffer would fail #3456.
Add
interpolate=truetovolume(...), allowing to disable interpolation #3485.
0.20.2 - 2023-12-01 {#0.20.2-2023-12-01}
Switched from SHA512 to CRC32c salting in CairoMakie svgs, drastically improving svg rendering speed #3435.
Fixed a bug with h/vlines and h/vspan not correctly resolving transformations #3418.
Fixed a bug with h/vlines and h/vspan returning the wrong limits, causing an error in Axis #3427.
Fixed clipping when zooming out of a 3D (L)Scene #3433.
Moved the texture atlas cache to
.julia/scratchspacesinstead of a dedicated.julia/makie#3437
0.20.1 - 2023-11-23 {#0.20.1-2023-11-23}
Fixed bad rendering of
polyin GLMakie by triangulating points after transformations #3402.Fixed bug regarding inline display in VSCode Jupyter notebooks and other similar environments #3403.
Fixed issue with
plottype, allowedonany(...; update = true)and fixedBlockmacro use outside Makie #3401.
0.20.0 - 2023-11-21 {#0.20.0-2023-11-21}
GLMakie has gained support for HiDPI (aka Retina) screens. This also enables saving images with higher resolution than screen pixel dimensions #2544.
Fixed an issue where NaN was interpreted as zero when rendering
surfacethrough CairoMakie #2598.Improved 3D camera handling, hotkeys and functionality #2746.
Added
shading = :verbosein GLMakie to allow for multiple light sources. Also added more light types, fixed light directions for the previous lighting model (nowshading = :fast) and adjustedbacklightto affect normals#3246.Changed the glyph used for negative numbers in tick labels from hyphen to minus #3379.
Added new declarative API for AlgebraOfGraphics, Pluto and easier dashboards #3281.
WGLMakie got faster line rendering with less updating bugs #3062.
Breaking Replaced
PolarAxis.radial_distortion_thresholdwithPolarAxis.radius_at_origin. #3381Breaking Deprecated the
resolutionkeyword in favor ofsizeto reflect that this value is not a pixel resolution anymore #3343.Breaking Refactored the
SurfaceLikefamily of traits intoVertexGrid,CellGridandImageLike#3106.Breaking Deprecated
pixelarea(scene)andscene.px_areain favor of viewport.Breaking Refactored the
CombinedPlot object and renamed it toPlot, improving compile times ~2x #3082.Breaking Removed old depreactions in #3113.
Breaking Deprecated using AbstractVector as sides of
image#3395.Breaking
errorbarsandrangebarsnow use color cycling #3230.
0.19.12 - 2023-10-31 {#0.19.12-2023-10-31}
Added
cornerradiusattribute toBoxfor rounded corners #3346.Fix grouping of a zero-height bar in
barplot. Now a zero-height bar shares the same properties of the previous bar, and if the bar is the first one, its height is treated as positive if and only if there exists a bar of positive height or all bars are zero-height #3058.Fixed a bug where Axis still consumes scroll events when interactions are disabled #3272.
Added
cornerradiusattribute toBoxfor rounded corners #3308.Upgraded
StableHashTraitsfrom 1.0 to 1.1 #3309.
0.19.11 - 2023-10-05 {#0.19.11-2023-10-05}
0.19.10 - 2023-09-21 {#0.19.10-2023-09-21}
Fixed bugs with Colorbar in recipes, add new API for creating a recipe colorbar and introduce experimental support for Categorical colormaps #3090.
Added experimental Datashader implementation #2883.
Breaking Changed the default order Polar arguments to (theta, r). #3154
General improvements to
PolarAxis: full rlimtis & thetalimits, more controls and visual tweaks. See pr for more details.#3154
0.19.9 - 2023-09-11 {#0.19.9-2023-09-11}
Allow arbitrary reversible scale functions through
ReversibleScale.Deprecated
linestyle=vector_of_gapsin favor oflinestyle=Linestyle(vector_of_gaps)3135, 3193.Fixed some errors around dynamic changes of
ax.xscaleorax.yscale#3084Improved Barplot Label Alignment #3160.
Fixed regression in determining axis limits #3179
Added a theme
theme_latexfontsthat uses the latex font family as default fonts #3147, #3180.Upgrades
StableHashTraitsfrom 0.3 to 1.0
0.19.8 - 2023-08-15 {#0.19.8-2023-08-15}
Improved CairoMakie rendering of
lineswith repeating colors in an array #3141.Added
strokecolormapto poly. #3145Added
xreversed,yreversedandzreversedattributes toAxis3#3138.Fixed incorrect placement of contourlabels with transform functions #3083
Fixed automatic normal generation for meshes with shading and no normals #3041.
Added the
triplotandvoronoiplotrecipes from DelaunayTriangulation.jl #3102, #3159.
0.19.7 - 2023-07-22 {#0.19.7-2023-07-22}
Allow arbitrary functions to color
streamplotlines by passing aFunctiontocolor. This must acceptPointof the appropriate dimension and return aPoint,Vec, or other arraylike object #2002.arrowscan now take input of the formx::AbstractVector, y::AbstractVector, [z::AbstractVector,] f::Function, wherefmust return aVecTypesof the appropriate dimension #2597.Exported colorbuffer, and added
colorbuffer(axis::Axis; include_decorations=false, colorbuffer_kws...), to get an image of an axis with or without decorations #3078.Fixed an issue where the
linestyleof some polys was not applied to the stroke in CairoMakie. #2604Add
colorscale = identityto any plotting function using a colormap. This works with any scaling function likelog10,sqrtetc. Consequently,scaleforhexbinis replaced withcolorscale#2900.Add
alpha=1.0argument to all basic plots, which supports independently adding an alpha component to colormaps and colors. Multiple alphas like inplot(alpha=0.2, color=RGBAf(1, 0, 0, 0.5)), will get multiplied #2900.hexbinnow supports any per-observation weights which StatsBase respects -<: StatsBase.AbstractWeights,Vector{Real}, ornothing(the default). #2804Added a new Axis type,
PolarAxis, which is an axis with a polar projection. Input is in(r, theta)coordinates and is transformed to(x, y)coordinates using the standard polar-to-cartesian transformation. Generally, its attributes are very similar to the usualAxisattributes, butxis replaced byrandybyθ. It also inherits from the theme ofAxisin this manner, so should work seamlessly with Makie themes #2990.inheritnow has a new signatureinherit(scene, attrs::NTuple{N, Symbol}, default_value), allowing recipe authors to access nested attributes when trying to inherit from the parent Scene. For example, one could inherit fromscene.Axis.yticksbyinherit(scene, (:Axis, :yticks), $default_value)#2990.Fixed incorrect rendering of 3D heatmaps #2959
Deprecated
flatten_plotsin favor ofcollect_atomic_plots. Using the newcollect_atomic_plotsfixed a bug in CairoMakie where the z-level of plots within recipes was not respected. #2793Fixed incorrect line depth in GLMakie #2843
Fixed incorrect line alpha in dense lines in GLMakie #2843
Fixed DataInspector interaction with transformations #3002
Added option
WGLMakie.activate!(resize_to_body=true), to make plots resize to the VSCode plotpane. Resizes to the HTML body element, so may work outside VSCode #3044, #3042.Fixed DataInspector interaction with transformations #3002.
Fixed incomplete stroke with some Bezier markers in CairoMakie and blurry strokes in GLMakie #2961
Added the ability to use custom triangulations from DelaunayTriangulation.jl #2896.
Adjusted scaling of scatter/text stroke, glow and anti-aliasing width under non-uniform 2D scaling (Vec2f markersize/fontsize) in GLMakie #2950.
Scaled
errorbarwhiskers andbracketcorrectly with transformations #3012.Updated
bracketwhen the screen is resized or transformations change #3012.
0.19.6 - 2023-06-09 {#0.19.6-2023-06-09}
Fixed broken AA for lines with strongly varying linewidth #2953.
Fixed WGLMakie JS popup #2976.
Fixed
legendelementswhen children have no elements #2982.Bumped compat for StatsBase to 0.34 #2915.
Improved thread safety #2840.
0.19.5 - 2023-05-12 {#0.19.5-2023-05-12}
Added
loopoption for GIF outputs when recording videos withrecord#2891.Fixed line rendering issues in GLMakie #2843.
Fixed incorrect line alpha in dense lines in GLMakie #2843.
Changed
scene.clearto an observable and made changes inSceneObservables trigger renders in GLMakie #2929.Added contour labels #2496.
Allowed rich text to be used in Legends #2902.
Added more support for zero length Geometries #2917.
Made CairoMakie drawing for polygons with holes order independent #2918.
Fixes for
Makie.inline!(), allowing now forMakie.inline!(automatic)(default), which is better at automatically opening a window/ inlining a plot into plotpane when needed #2919 #2937.
0.19.4 - 2023-03-31 {#0.19.4-2023-03-31}
Added export of
hidezdecorations!from MakieLayout #2821.Fixed an issue with GLMakie lines becoming discontinuous #2828.
0.19.3 - 2023-03-21 {#0.19.3-2023-03-21}
Added the
stephistplotting function #2408.Added the
bracketsplotting function #2356.Fixed an issue where
polyplots withVector{<: MultiPolygon}inputs with per-polygon color were mistakenly rendered as meshes using CairoMakie #2590.Fixed a small typo which caused an error in the
Stepperconstructor #2600.Improve cleanup on block deletion #2614
Add
menu.scroll_speedand increase default speed for non-apple #2616.Fixed rectangle zoom for nonlinear axes #2674
Cleaned up linestyles in GLMakie (Fixing artifacting, spacing/size, anti-aliasing) #2666.
Fixed issue with scatterlines only accepting concrete color types as
markercolor#2691.Fixed an accidental issue where
LaTeXStringswere not typeset correctly inAxis3#2558.Fixed a bug where line segments in
text(lstr::LaTeXString)were ignoring offsets #2668.Fixed a bug where the
arrowsrecipe accidentally called aBoolwhennormalize = true#2740.Re-exported the
@colorant_str(colorant"...") macro from Colors.jl #2726.Speedup heatmaps in WGLMakie. #2647
Fix slow
data_limitsfor recipes, which made plotting lots of data with recipes much slower #2770.
0.19.1 - 2023-01-01 {#0.19.1-2023-01-01}
Add
show_datamethod forbandwhich shows the min and max values of the band at the x position of the cursor #2497.Added
xlabelrotation,ylabelrotation(Axis) andlabelrotation(Colorbar) #2478.Fixed forced rasterization in CairoMakie svg files when polygons with colors specified as (color, alpha) tuples were used #2535.
Do less copies of Observables in Attributes + plot pipeline #2443.
Add Search Page and tweak Result Ordering #2474.
Remove all global attributes from TextureAtlas implementation and fix julia#master #2498.
Use new Bonito, implement WGLMakie picking, improve performance and fix lots of WGLMakie bugs #2428.
0.19.0 - 2022-12-03 {#0.19.0-2022-12-03}
Breaking The attribute
textsizehas been removed everywhere in favor of the attributefontsizewhich had also been in use. To migrate, search and replace all uses oftextsizetofontsize#2387.Added rich text which allows to more easily use superscripts and subscripts as well as differing colors, fonts, fontsizes, etc. for parts of a given text #2321.
0.18.4 - 2022-12-02 {#0.18.4-2022-12-02}
Added the
waterfallplotting function #2416.Add support for
AbstractPatterninWGLMakie#2432.Broadcast replaces deprecated method for quantile #2430.
Fix CairoMakie's screen re-using #2440.
Fix repeated rendering with invisible objects #2437.
Fix hvlines for GLMakie #2446.
0.18.3 - 2022-11-17 {#0.18.3-2022-11-17}
Add
render_on_demandflag forGLMakie.Screen. Setting this totruewill skip rendering until plots get updated. This is the new default #2336, #2397.Clean up OpenGL state handling in GLMakie #2397.
Fix salting #2407.
0.18.2 - 2022-11-03 {#0.18.2-2022-11-03}
Fix Axis3 tick flipping with negative azimuth #2364.
Remove stencil buffer #2389.
Move Arrows and Wireframe to MakieCore #2384.
Skip legend entry if label is nothing #2350.
0.18.1 - 2022-10-24 {#0.18.1-2022-10-24}
fix heatmap interpolation #2343.
move poly to MakieCore #2334
Fix picking warning and update_axis_camera #2352.
bring back inline!, to not open a window in VSCode repl #2353.
0.18.0 - 2022-10-12 {#0.18.0-2022-10-12}
Breaking Added
BezierPathwhich can be constructed from SVG like command list, SVG string or from aPolygon. Added ability to useBezierPathandPolgyonas scatter markers. Replaced default symbol markers like:crosswhich converted to characters before with more preciseBezierPathsand adjusted default markersize to 12. Deprecated usingStringto specify multiple char markers (scatter(1:4, marker="abcd")). Deprecated concrete geometries as markers likeCircle(Point2f(0), 1.5)in favor of using the type likeCirclefor dispatch to special backend methods. Added single image marker support to WGLMakie #979.Breaking Refactored
display,record,colorbufferandscreensto be faster and more consistent #2306.Breaking Refactored
DataInspectorto usetooltip. This results in changes in the attributes of DataInspector. Addedinspector_label,inspector_hoverandinspector_clearas optional attributes #2095.Added the
hexbinplotting function #2201.Added the
tricontourfplotting function #2226.Fixed per character attributes in text #2244.
Allowed
CairoMakieto renderscatterwith images as markers #2080.Reworked text drawing and added ability to draw special characters via glyph indices in order to draw more LaTeX math characters with MathTeXEngine v0.5 #2139.
Allowed text to be copy/pasted into
Textbox#2281Fixed updates for multiple meshes #2277.
Fixed broadcasting for linewidth, lengthscale & arrowsize in
arrowrecipe #2273.Made GLMakie relocatable #2282.
Fixed changing input types in plot arguments #2297.
Better performance for Menus and fix clicks on items #2299.
Fixed CairoMakie bitmaps with transparency by using premultiplied ARGB surfaces #2304.
Fixed hiding of
Scenes by settingscene.visible[] = false#2317.Axisnow accepts aTuple{Bool, Bool}forxtrimspineandytrimspineto trim only one end of the spine #2171.
0.17.13 - 2022-08-04 {#0.17.13-2022-08-04}
Fixed boundingboxes #2184.
Fixed highclip/lowclip in meshscatter, poly, contourf, barplot #2183.
Fixed gridline updates #2196.
Fixed glDisablei argument order, which crashed some Intel drivers.
0.17.12 - 2022-07-22 {#0.17.12-2022-07-22}
- Fixed stackoverflow in show #2167.
0.17.11 - 2022-07-21 {#0.17.11-2022-07-21}
rainclouds(!) now supportsviolin_limitskeyword argument, serving the same.
role as datalimits in violin #2137.
Fixed an issue where nonzero
strokewidthresults in a thin outline of the wrong color ifcolorandstrokecolordidn't match and weren't transparent. #2096.Improved performance around Axis(3) limits #2115.
Cleaned up stroke artifacts in scatter and text #2096.
Compile time improvements #2153.
Mesh and Surface now interpolate between values instead of interpolating between colors for WGLMakie + GLMakie #2097.
0.17.10 - 2022-07-13 {#0.17.10-2022-07-13}
- Bumped compatibility bound of
GridLayoutBase.jltov0.9.0which fixed a regression withMixedandOutsidealignmodes in nestedGridLayouts #2135.
0.17.9 - 2022-07-12 {#0.17.9-2022-07-12}
Patterns (
Makie.AbstractPattern) are now supported byCairoMakieinpolyplots that don't involvemesh, such asbarandpoly#2106.Fixed regression where
Blockalignments could not be specified as numbers anymore #2108.Added the option to show mirrored ticks on the other side of an Axis using the attributes
xticksmirroredandyticksmirrored#2105.Fixed a bug where a set of
Axiswouldn't be correctly linked together if they were only linked in pairs instead of all at the same time #2116.
0.17.7 - 2022-06-19 {#0.17.7-2022-06-19}
- Improved
Menuperformance, now it should be much harder to reach the boundary of 255 scenes in GLMakie.Menualso takes adefaultkeyword argument now and can be scrolled if there is too little space available.
0.17.6 - 2022-06-17 {#0.17.6-2022-06-17}
EXPERIMENTAL: Added support for multiple windows in GLMakie through
display(GLMakie.Screen(), figure_or_scene)#1771.Added support for RGB matrices in
heatmapwith GLMakie #2036Textboxdoesn't defocus anymore on trying to submit invalid input #2041.textnow takes the position as the first argument(s) likescatterand most other plotting functions, it is invokedtext(x, y, [z], text = "text"). Because it is now of conversion typePointBased, the positions can be given in all the usual different ways which are implemented as conversion methods. All old invocation styles such astext("text", position = Point(x, y))still work to maintain backwards compatibility #2020.
0.17.5 - 2022-06-10 {#0.17.5-2022-06-10}
- Fixed a regression with
linkaxes!#2039.
0.17.4 - 2022-06-09 {#0.17.4-2022-06-09}
The functions
hlines!,vlines!,hspan!,vspan!andabline!were reimplemented as recipes. This allows using them without anAxisargument in first position and also as visuals in AlgebraOfGraphics.jl. Also,abline!is now calledablines!for consistency,abline!is still exported but deprecated and will be removed in the future. #2023.Added
raincloudsandrainclouds!#1725.Interpolate colormap correctly #1973.
Fix picking #1993.
Fix multi poly with rects #1999.
Respect scale and nonlinear values in PlotUtils cgrads #1979.
Fix CairoMakie heatmap filtering #1828.
Add linestyle and default to extrema(z) for contour, remove bitrotten fillrange #2008.
0.17.3 - 2022-05-20 {#0.17.3-2022-05-20}
Switched to
MathTeXEngine v0.4, which improves the look of LaTeXStrings #1952.Added subtitle capability to
Axis#1859.Fixed a bug where scaled colormaps constructed using
Makie.cgradwere not interpreted correctly.
0.17.2 - 2022-05-16 {#0.17.2-2022-05-16}
- Changed the default font from
Dejavu SanstoTeX Gyre Heros Makiewhich is the same asTeX Gyre Heroswith slightly decreased descenders and ascenders. Decreasing those metrics reduced unnecessary whitespace and alignment issues. Four fonts in total were added, the styles Regular, Bold, Italic and Bold Italic. Also changedAxis,Axis3andLegendattributestitlefonttoTeX Gyre Heros Makie Boldin order to separate it better from axis labels in multifacet arrangements #1897.
0.17.1 - 2022-05-13 {#0.17.1-2022-05-13}
Added word wrapping. In
Label,word_wrap = truecauses it to use the suggested width and wrap text to fit. Intext,word_wrap_width > 0can be used to set a pixel unit line width. Any word (anything between two spaces without a newline) that goes beyond this width gets a newline inserted before it #1819.Improved
Axis3's interactive performance #1835.Fixed errors in GLMakie's
scatterimplementation when markers are given as images. #1917.Removed some method ambiguities introduced in v0.17 #1922.
Add an empty default label,
"", to each slider that doesn't have a label inSliderGrid#1888.
0.17.0 - 2022-05-05 {#0.17.0-2022-05-05}
Breaking Added
spaceas a generic attribute to switch between data, pixel, relative and clip space for positions.spacein text has been renamed tomarkerspacebecause of this.PixelandSceneSpaceare no longer valid inputs forspaceormarkerspace#1596.Breaking Deprecated
mouse_selection(scene)forpick(scene).Breaking Bumped
GridLayoutBaseversion tov0.7, which introduced offset layouts. Now, indexing into row 0 doesn't create a new row 1, but a new row 0, so that all previous content positions stay the same. This makes building complex layouts order-independent #1704.Breaking deprecate
to_colormap(cmap, ncolors)in favor ofcategorical_colors(cmap, ncolors)andresample_cmap(cmap, ncolors)#1901 #1723.Added
empty!(fig)and changedempty!(scene)to remove all child plots without detaching windows #1818.Switched to erroring instead of warning for deprecated events
mousebuttons,keyboardbuttonsandmousedrag.Layoutablewas renamed toBlockand the infrastructure changed such that attributes are fixed fields and each block has its ownScenefor better encapsulation #1796.Added
SliderGridblock which replaces the deprecatedlabelslider!andlabelslidergrid!functions #1796.The default anti-aliasing method can now be set in
CairoMakie.activate!using theantialiaskeyword. Available options areCairoMakie.Cairo.ANTIALIAS_*#1875.Added ability to rasterize a plots in CairoMakie vector graphics if
plt.rasterize = trueorplt.rasterize = scale::Int#1872.Fixed segfaults in
streamplot_implon Mac M1 #1830.Set the Cairo miter limit to mimic GLMakie behaviour #1844.
Fixed a method ambiguity in
rotatedrect#1846.Allow weights in statistical recipes #1816.
Fixed manual cycling of plot attributes #1873.
Fixed type constraints in ticklabelalign attributes #1882.
0.16.4 - 2022-02-16 {#0.16.4-2022-02-16}
Fixed WGLMakie performance bug and added option to set fps via
WGLMakie.activate!(fps=30).Implemented
nan_color,lowclip,highclipforimage(::Matrix{Float})in shader.Cleaned up mesh shader and implemented
nan_color,lowclip,highclipformesh(m; color::Matrix{Float})on the shader.Allowed
GLMakie.BufferGLMakie.Samplerto be used inGeometryBasics.Meshto partially update parts of a mesh/texture and different interpolation and clamping modes for the texture.
0.16.0 - 2022-01-07 {#0.16.0-2022-01-07}
Breaking Removed
Nodealias #1307, #1393. To upgrade, simply replace all occurrences ofNodewithObservable.Breaking Cleaned up
Scenetype #1192, #1393. TheScene()constructor doesn't create any axes or limits anymore. All keywords likeraw,show_axishave been removed. A scene now always works like it did when using the deprecatedraw=true. All the high level functionality like showing an axis and adding a 3d camera has been moved toLScene. See the newScenetutorial for more info: https://docs.makie.org/dev/tutorials/scenes/.Breaking Lights got moved to
Scene, see the lighting docs and RPRMakie examples.Added ECDF plot #1310.
Added Order Independent Transparency to GLMakie #1418, #1506. This type of transparency is now used with
transparency = true. The old transparency handling is available withtransparency = false.Fixed blurry text in GLMakie and WGLMakie #1494.
Introduced a new experimental backend for ray tracing: RPRMakie.
Added the
Cycledtype, which can be used to select the i-th value from the current cycler for a specific attribute #1248.The plot function
scatterlinesnow usescolorasmarkercolorifmarkercolorisautomatic. Also, cycling of thecolorattribute is enabled #1463.Added the function
resize_to_layout!, which allows to resize aFigureso that it contains its topGridLayoutwithout additional whitespace or clipping #1438.Cleaned up lighting in 3D contours and isosurfaces #1434.
Adjusted attributes of volumeslices to follow the normal structure #1404. This allows you to adjust attributes like
colormapwithout going through nested attributes.Added depth to 3D contours and isosurfaces #1395, #1393. This allows them to intersect correctly with other 3D objects.
Restricted 3D scene camera to one scene #1394, #1393. This fixes issues with multiple scenes fighting over events consumed by the camera. You can select a scene by cleaning on it.
Added depth shift attribute for GLMakie and WGLMakie #1382, #1393. This can be used to adjust render order similar to
overdraw.Simplified automatic width computation in barplots #1223, #1393. If no
widthattribute is passed, the default width is computed as the minimum difference between consecutivexpositions. Gap between bars are given by the (multiplicative)gapattribute. The actual bar width equalswidth * (1 - gap).Added logical expressions for
ispressed#1222, #1393. This moves a lot of control over hotkeys towards the user. With these changes one can now set a hotkey to trigger on any or no key, collections of keys and logical combinations of keys (i.e. "A is pressed and B is not pressed").Fixed issues with
Menurender order #1411.Added
label_rotationto barplot #1401.Fixed issue where
pixelcam!does not remove controls from other cameras #1504.Added conversion for OffsetArrays #1260.
The
qqplotqqlineoptions were changed to:identity,:fit,:fitrobustand:none(the default) #1563. Fixed numeric error due to double computation of quantiles when fittingqqline. Deprecatedplot(q::QQPair)method as it does not have enough information for correctqqlinefit.
All other changes are collected in this PR and in the release notes.
0.15.3 - 2021-10-16 {#0.15.3-2021-10-16}
The functions
labelslidergrid!andlabelslider!now set fixed widths for the value column with a heuristic. It is possible now to passFormatting.formatformat strings as format specifiers in addition to the previous functions.Fixed 2D arrow rotations in
streamplot#1352.
0.15.2 - 2021-08-26 {#0.15.2-2021-08-26}
Reenabled Julia 1.3 support.
Use MathTexEngine v0.2.
Depend on new GeometryBasics, which changes all the Vec/Point/Quaternion/RGB/RGBA - f0 aliases to just f. For example,
Vec2f0is changed toVec2f. Old aliases are still exported, but deprecated and will be removed in the next breaking release. For more details and an upgrade script, visit GeometryBasics#97.Added
hspan!andvspan!functions #1264.
0.15.1 - 2021-08-21 {#0.15.1-2021-08-21}
Switched documentation framework to Franklin.jl.
Added a specialization for
volumeslicesto DataInspector.Fixed 1 element
hist#1238 and make it easier to movehist#1150.
0.15.0 - 2021-07-15 {#0.15.0-2021-07-15}
LaTeXStrings can now be used as input totextand therefore as labels forAxis,Legend, or other comparable objects. Mathematical expressions are typeset using MathTeXEngine.jl which offers a fast approximation of LaTeX typesetting #1022.Added
Symlog10andpseudolog10axis scales for log scale approximations that work with zero and negative values #1109.Colorbar limits can now be passed as the attribute
colorrangesimilar to plots #1066.Added the option to pass three vectors to heatmaps and other plots using
SurfaceLikeconversion #1101.Added
stairsplot recipe #1086.Breaking Removed
FigurePositionandFigureSubpositiontypes. Indexing into aFigurelikefig[1, 1]now returnsGridPositionandGridSubpositionstructs, which can be used in the same way as the types they replace. Because of an underlying change inGridLayoutBase.jl, it is now possible to doAxis(gl[1, 1])whereglis aGridLayoutthat is a sublayout of aFigure's top layout #1075.Bar plots and histograms have a new option for adding text labels #1069.
It is now possible to specify one
linewidthvalue per segment inlinesegments#992.Added a new 3d camera that allows for better camera movements using keyboard and mouse #1024.
Fixed the application of scale transformations to
surface#1070.Added an option to set a custom callback function for the
RectangleZoomaxis interaction to enable other use cases than zooming #1104.Fixed rendering of
heatmaps with one or more reversed ranges in CairoMakie, as inheatmap(1:10, 10:-1:1, rand(10, 10))#1100.Fixed volume slice recipe and added docs for it #1123.