Changelog
Unreleased
0.24.6 - 2025-08-19
Widened types for axis keys #5243
Fixed
getlimits(::Axis3)error related to unchecked access of:visibleattribute.Add simple compression for arrays containing only the same value in WGLMakie #5252.
Fixed 3D
contourplots not rendering the correct isosurfaces whencolorrangeis given. Also fixedisorangenot working, tweaked defaultisorange, colormap resolution, and changed colormap extractor forColorbarto ignore alpha. #5213Fixed double application of
alpharegression inBandplots in CairoMakie #5258.
0.24.5 - 2025-08-06
Added new scales based on
ReversibleScalefor use ascolorscale,xscale, andyscaleattributes. The new scales areAsinhScale,SinhScale,LogScale,LuptonAsinhScale, andPowerScale.Fixed
propertynames(::Attributes)#5154.Fixed cycle error in SpecApi and axis re-creation for plot type changes #5198.
Fixed incorrect variable name used for
voxelsinColorbar#5208Fixed
Timeticks breaking when axis limits crossed over midnight #5212.Fixed issue where segments of solid
linesdisappeared when positions were large enough #5216Fixed
meshscattermarkers not updating correctly in GLMakie #5217Fixed
volumeplots getting clipped based on the vertices of their bounding box, e.g. when zooming in Axis3 #5225Fixed
Bonito.record_latestfor changes in Makie v0.24 #5185.
0.24.4 - 2025-07-17
Fixed rendering of volumes when the camera is inside the volume #5164
Added some validation for compute node initialization (which guards against some error in
map!()callbacks) #5170Added support for
GeometryBasics.MultiPoint#5182.Moved remaining compute edge checks for safe edge reuse out of debug mode #5169
Adjusted compute
map!to accept mixed array contain Symbols and compute nodes #5167Added
register_projected_positions!()for projecting data in recipes (from start to finish). Also generalizedregister_position_transform!()and related for use in recipes #5121Added
register_projected_rotations_2d!for calculating the screen space rotation between data points of a plot. #5121Added
map!(f, plot::Plot, inputs, outputs)method (accepting a plot instead of a compute graph). #5121Updated
arrows,bracket,contour,contour3d,poly,streamplot,textlabel,triplot,voronoiplotandhexbinto use the compute graph instead of observables. #5121Fixed
p.text = "..."erroring withp = text(..., text = rich(...))#5173Support Interpolations.jl v0.16 #5157
Updated
arc,band,pie,stairs,stem,tooltip,wireframeandqqplotto use the new compute graph instead of observables #5165Added ability to modify ticks and tick format on a
DateTimeorTimeconversion axis, for examplexticks = (datetimes, labels)orxtickformat = "d.m.yyyy". The default tick locator for datetimes is improved and the default formatting now reduces the amount of redundant information in neighboring ticks. It is exported asDateTimeTicks#5159.Fixed missing toggle animation #5156
Fixed broadcast error in
position_on_plotfor mesh #5196
0.24.3 - 2025-07-04
Fixed empty plotlist #5150.
Fixed plot attributes with
Dictas input #5149.Fixed arrow marker attributes in
arrows3dnot triggering repositioning of arrows. #5134Fixed h/vlines and h/vspan not considering transform functions correctly. #5145
Added
register_projected_positions!()for projecting data in recipes (from start to finish). Also generalizedregister_position_transform!()and related for use in recipes #5121Moved some compute edge checks out of debug mode to error more consistently on edge overwrite #5125
0.24.2 - 2025-06-27
Bring back some default attributes for recipes #5130.
Allow multiple separate link groups in
xaxislinksandyaxislinksarguments ofSpecApi.GridLayoutso that facet layouts can have independently linked columns and rows #5127.
0.24.1 - 2025-06-24
Don't pull plots from invisible scenes and hide Blocks during construction #5119.
Fixed
dendrogramdocstring and addedx, y, mergesconversion #5118.Make sure there's only one inspector per root scene #5113.
Bring back lowres background for heatmap(Resampler(...)) #5110.
Fixed forwarding attributes in recipes #5109.
0.24.0 - 2025-06-20
Breaking Refactored plots to rely on the newly introduced
ComputeGraphinstead ofObservables. #4630Breaking
attr = Attributes(plot)now returns aComputeGraph, which disallowscopy(attr),pop!(attr, ...),attr[:newvar] = ...and splattingplot!(...; attr...).Semi-Breaking
plot(parent, attr, args...; kwargs...)now only considers applicable attributes inattrand prioritizeskwargsin case of collisions.Semi-Breaking
@recipe Name (args...)now names converted arguments and requires the number ofargsto match the number of outputs ifromconvert_arguments()Breaking
replace_automatic!()has been removed as it was incompatible.Makie.default_automatic()can be used as an alternative.Breaking
text!()is no longer a nested structure of text plots.Breaking Scene lights have moved to the scene
ComputeGraphand no longer contain Observables.Fixed synchronous update issues by allowing synchronized update with
Makie.update!(plot, attrib1 = val1, attrib2 = val2, ...)Improved performance in WGLMakie with better bundling and filtering of updates
Improved traceability attribute and argument processing from user input to the backend
Breaking
annotations!()(not the newannotation) has been removed in favor oftext!(). #4630Semi-Breaking Removed various internal text bounding box functions in favor of more user friendly functions like
string_boundingboxes(plot)#4630Semi-Breaking Deprecated
ShadingAlgorithmforplot.shadingin favor of aBool. The selection of the algorithm (FastShading/MultiLightShading) now happens at the scene level. #4630Fixed 2x2 surfaces not aligning colors correctly in WGLMakie #4630
Added support for per-mesh
uv_transforminWGLMakie.meshscatter#4630Fixed
PolarAxisnot considering text rotation correctly for tick label margins #4630Fixed
LaTeXStringsnot projecting lines correctly ifmarkerspace != :pixel#4630Fixed incorrect z values for 2x2
surface()plots in CairoMakie and WGLMakie. #5052Fixed
arrows3d()now including lighting attributes. #5052Breaking Removed
MakieCorefrom Makie's dependencies. Going forward, package extensions are recommended if a lightweight dependency is desired. A quick fix is to change the dependency toMakieand replace allMakieCoreoccurrences withMakiealthough this will incur Makie's full load time every time. The alternative is to use a package extension onMakiewhich requires at least Julia 1.9.Breaking Changed
patchcolorto opaque colors #5088Fixed
annotationin the presence of scene transform functions #5058.Moved Makie source directory from top level to ./Makie so that Makie itself does not include every other monorepo package when it's installed #5069.
Removed asset folder and made it an artifact, breaking code that didn't use
Makie.assetpath. Also introducesMakie.loadasset(name), to directly load the asset #5074.Added
fontsizeattribute toannotation#5099.
0.23.0 - 2025-06-10
Breaking Refactored
arrowsto solve various issues: #4925Breaking
Arrowsas a type is deprecated as the recipe has been split up. Use theMakie.ArrowLikeconversion trait,Arrows2DorArrows3Dinstead.Breaking The
arrows!()function is deprecated in favor ofarrows2d!()andarrows3d!(). These plot functions differ in how they render arrows and can be used in 2D and 3D interchangeably.Breaking The arrow size now considers all components of the arrow, not just the shaft, changing sizes and alignments.
Breaking
alignno longer accepts:lineend, :tailend, :headstartand:origin. It now only accepts:head, :center, :tailand numbers for fractional alignment. Issues with these alignments not working correctly have been fixed.Breaking Attributes
arrowhead, arrowtail, arrowcolor, linecolor, linewidth, arrowsizeare deprecated. See?arrows2dand?arrows3dor the main docs for replacements.Breaking Attributes
linestyleandtransform_markerare no longer supported.Breaking Outside of
minshaftlength .. maxshaftlength, arrows now scale as a whole instead of just their shaft.Breaking 3D Arrows now try to scale to a size appropriate to the given data. This can be turned off by setting
markerscaleto a static number.Arrows are now split into a tail, shaft and head, allowing for double-headed arrows.
2D arrows are now based on
poly, fixing self-overlap issues with transparent arrows.3D arrow tips, or more generally the new
GeometryBasics.Conerenders with much smoother shading.argmode = :endpointhas been added to allow constructing arrows with a start and end point instead of a start point and a direction.Arrows now work correctly with
colorrange,alpha, etc.Transforms (e.g.
logorrotate!(plot, ...)) now only affect the start and end points of arrows, rather than its components. This fixes issues like incorrect tip rotation of 2D arrows and stretching/squishing of 3D arrows.
Add dim conversion support for Axis3 #4964.
Added support for vectors of intervals in
hspanandvspan#5036Export
Float64geometry typesPoint3d,Vec4d,Rect2detc. #5040.Added
dendrogramrecipe to Makie #2755Added unit support to
Slider#5037Added
sourcessection to all Project.tomls in the monorepo, so that]dev GLMakiewill download the monorepo and automatically dev Makie and MakieCore. #4967
0.22.10 - 2025-06-03
- Quick fix for the just released
annotation,textcolornow followscolorby default #5034.
0.22.9 - 2025-06-03
Added conversion method for
annotationto make it compatible with AlgebraOfGraphics #5029.Fixed contour labels text positions update bug #5010.
0.22.8 - 2025-06-03
Added new
annotationrecipe which can be used for labeling many data points with automatically non-overlapping labels, or for more bespoke annotation with manually chosen positions and connecting arrows #4891.Fixed precompilation bug in julia dev 1.13 #5018.
Fixed screen not open assertion and
Makie.isclosed(scene)in WGLMakie #5008.
0.22.7 - 2025-05-23
- Fixed regression in the updating logic of
Legend#4979.
0.22.6 - 2025-05-17
Added
alphakeyword todensityrecipe #4975.Improved CairoMakie rendering of normal
bands with array-valued colors #4989.Fixed cycling not being consistent when the same plot function was called with different input types (float32 vs float64 lines, for example) #4960
0.22.5 - 2025-05-12
Added LegendElements for meshscatter, mesh, image, heatmap and surface #4924
Moved some of the TextureAtlas logic to JS, speeding up text updates and fixing texture atlas updates 4942.
Added ability to hide and show individual plot elements by clicking their corresponding
Legendentry #2276.Fixed issue with UInt8 voxel data not updating correctly when Observable input is updated #4914
Added ticks and minorticks to
PolarAxis. Ticks and tick labels can now also be mirrored to the other side of a sector style PolarAxis. #4902Fixed
Axis.panbuttonnot working #4932Fixed issues with anisotropic markersizes (e.g.
(10, 50)) causing anti-aliasing to become blurry in GLMakie and WGLMakie. #4918Added
direction = :yoption for verticalbands #4949.Fixed line-ordering of
lines(::Rect3)#4954.Fixed issue with
sprinting to SVG using CairoMakie in Julia 1.11 and above #4971.
0.22.4 - 2025-04-11
- Re-added the
apply_transform(f, data, space)method that was removed in v0.22.3 with a deprecation warning. It will be removed in the next breaking version. #4916
0.22.3 - 2025-04-08
Added
alphaattribute totricontourf.jlto control the transparency of filled contours #4800Fixed hexbin using log-scales #4898
Updated scope of
spaceattribute, restricting it to camera related projections in the conversion-transformation-projection pipeline. (See docs onspaceor the pipeline) #4792Added inheritance options for the
transformationkeyword argument::inherit, :inherit_model, :inherit_transform_func, :nothing(See docs ontransformationsor the pipeline) #4792Fixed GLMakie embedding support for window destruction #4848.
Adjusted
DataInspectortooltips forspyto be heatmap-like anddatashaderto show the number of binned markers #4810Added
unsafe_set!(::Textbox, ::String)#4417Improved compatibility of marker attributes with float32convert, fixing issues with scatter markers being render too small with
markerspace = :datain an Axis #4869Added
fontattribute and fixed faulty selection inscatter. Scatter fonts can now be themed withmarkerfont. #4832Fixed categorical
cgradinterpolating at small enough steps #4858Added
textlabel!()recipe for plotting text with a background #4879Fixed the computed
colorrangebeing out of order withcolorscale = -or similar colorscale functions that break sorting #4884Added
transform_markerto arrows #4871Reverted change in
meshscattertransformation behavior by usingtransform_marker = trueas the default #4871Fixed an error with Colorbar for categorical colormaps, where they displayed values out of colorrange and NaN. #4894
Fixed minor grid not showing in Axis when minorticks are hidden #4896
Fixed issue with small scatter markers disappearing in CairoMakie #4882
Added current axis/figure defaults to
resize_to_layout!,x/yautolimits,hidex/y/decoration!andtight_x/y/ticklabel_spacing!#4519Switched to Julia 1.10 for GLMakie CI due to issues with OpenGL on ubuntu-latest. This may cause GLMakie compatibility with the Julia 1.6 to degrade in the future. #4913
Added support for logarithmic units #4853
0.22.2 - 2025-02-26
Added support for curvilinear grids in
contourf(contour filled), wherexandyare matrices (contourlines were added in [0.22.0]) #4670.Updated WGLMakie's threejs version from 0.157 to 0.173, fixing some threejs bugs #4809.
Moved Axis3 clip planes slightly outside to avoid clipping objects on the border with 0 margin #4742
Fixed an issue with transformations not propagating to child plots when their spaces only match indirectly. #4723
Added a tutorial on creating an inset plot #4697
Enhanced Pattern support: Added general CairoMakie implementation, improved quality, added anchoring, added support in band, density, added tests & fixed various bugs and inconsistencies. #4715
Fixed issue with
voronoiplotfor Voronoi tessellations with empty polygons #4740Fixed shader compilation error due to undefined unused variable in volume #4755
Added option
update_while_dragging=trueto Slider #4745.Added option
lowres_background=trueto Resampler, and renamedresolutiontomax_resolution#4745.Added option
throttle=0.0toasync_latest, to allow throttling while skipping latest updates #4745.Fixed issue with
WGLMakie.voxelsnot rendering on linux with firefox #4756Updated
voxelsto useuv_transforminterface instead ofuvmapto give more control over texture mapping (i.e. to allow rotations) #4758Breaking Changed generated
uvs invoxelsto more easily align texture maps. Also changed uvs to scale withgapso that voxels remain fully covered. #4758Fixed
uv_transform = :rotr90and:rotl90being swapped #4758Cleaned up surface handling in GLMakie: Surface cells are now discarded when there is a nan in x, y or z. Fixed incorrect normal if x or y is nan #4735
Cleaned up
volumeplots: Added:indexedabsorptionand:additiveto WGLMakie, generalized:mipto include negative values, fixed missing conversions for rgba algorithms (:additive,:absorptionrgba), fixed missing conversion forabsorptionattribute & extended it to:indexedabsorptionandabsorptionrgba, added tests and improved docs. #4726Fixed integer underflow in GLMakie line indices which may have caused segmentation faults on mac #4782
Added
Axis3.clipattribute to allow turning off clipping #4791Fixed
Plane(Vec{N, T}(0), dist)producing aNaNnormal, which caused WGLMakie to break. (E.g. when rotating Axis3) #4772Changed
inspectableto be inherited from the parent scenes theme. #4739Reverted change to
polywhich disallowed 3D geometries from being plotted #4738Enabled autocompletion on Block types, e.g.
?Axis.xti...#4786Added
dpimetadata to all rendered png files, wherepx_per_unit = 1means 96dpi,px_per_unit = 2means 192dpi, and so on. This gives frontends a chance to show plain Makie png images with the correct scaling #4812.Fixed issue with voxels not working correctly with
rotate!()#4824Fixed issue with tick event not triggering in WGLMakie #4818
Improved performance of some Blocks, mainly
TextboxandMenu#4821Fixed issue with
PolarAxisnot considering tick visibility in protrusion calculations. #4823Fixed some plots failing to create Legend entries due to missing attributes #4826
0.22.1 - 2025-01-17
Allow volume textures for mesh color, to e.g. implement a performant volume slice display #2274.
Fixed
alphause in legends and some CairoMakie cases #4721.
0.22.0 - 2024-12-12
Updated to GeometryBasics 0.5: GeometryBasics#173, GeometryBasics#219 #4319
Removed
metainfrastructure. Vertex attributes are now passed as kwargs.Simplified GeometryBasics Mesh type, improving compile times
Added
FaceViewto allow different vertex attributes to use different indices for specifying data of the same vertex. This can be used to specify per-face data.Added
GeometryBasics.face_normals(points, faces)Changed the order of
Rect2coordinates to be counter-clockwise.Updated
Cylinderto avoid visually rounding off the top and bottom.Added
MetaMeshto store non-vertex metadata in a GeometryBasics Mesh object. These are now produced by MeshIO for.objfiles, containing information from.mtlfiles.Fix
Tessellation/tessellationspelling GeometryBasics#227 #4564
Added
Makie.meshoption forMetaMeshwhich applies some of the bundled information #4368, #4496Voronoiplots automatic colors are now defined based on the underlying point set instead of only those generators appearing in the tessellation. This makes the selected colors consistent between tessellations when generators might have been deleted or added. #4357contournow supports curvilinear grids, wherexandyare matrices #4670.Added
viewmode = :freeand translation, zoom, limit reset and cursor-focus interactions to Axis3. 4131Split
marker_offsethandling from marker centering and fix various bugs with it #4594Added
transform_markerattribute to meshscatter and changed the default behavior to not transform marker/mesh vertices #4606Fixed some issues with meshscatter not correctly transforming with transform functions and float32 rescaling #4606
Fixed
polypipeline for 3D and/or Float64 polygons that begin from an empty vector #4615.empty!GLMakie screen instead of closing, fixing issue with reset window position #3881Added option to display the front spines in Axis3 to close the outline box #2349
Fixed gaps in corners of
poly(Rect2(...))stroke #4664Fixed an issue where
reinterpreted arrays of line points were not handled correctly in CairoMakie #4668.Fixed various issues with
markerspace = :data,transform_marker = trueandrotationfor scatter in CairoMakie (incorrect marker transformations, ignored transformations, Cairo state corruption) #4663Changed deprecation warnings for Vector and Range inputs in
image,volume,voxelsandspyinto errors #4685Refactored OpenGL cleanup to run immediately rather than on GC #4699
It is now possible to change the title of a
GLFW.WindowwithGLMakie.set_title!(screen::Screen, title::String)#4677.Fixed
px_per_unit != 1not getting fit to the size of the interactive window in GLMakie #4687Changed minorticks to skip computation when they are not visible #4681
Fixed indexing error edge case in violin median code #4682
Fixed incomplete plot cleanup when cleanup is triggered by an event. #4710
Automatically plot Enums as categorical #4717.
0.21.18 - 2024-12-12
Allow for user defined recipes to be used in SpecApi #4655.
Fix text layouting with empty lines #4269.
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
Fixed bounds error when recording video with WGLMakie #4639.
Added
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.
Added (x/y)axislinks to S.GridLayout and make sure limits don't reset when linking axes #4643.
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
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
Fixed relocatability of GLMakie #4461.
Fixed relocatability of WGLMakie #4467.
Fixed
spacekeyword forbarplot#4435.
0.21.13 - 2024-10-07
Optimize SpecApi, reuse 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
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.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
- Hotfix for colormap + color updates #4258.
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
- Hot fix for 1D heatmap #4147.
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
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
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
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
- 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
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
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
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
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
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
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
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
Use plot plot instead of scene transform functions in CairoMakie, fixing misplaced 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
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
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
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
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
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
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.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
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
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
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
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
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
Added export of
hidezdecorations!from MakieLayout #2821.Fixed an issue with GLMakie lines becoming discontinuous #2828.
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
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
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
Added the
waterfallplotting function #2416.Add support for
AbstractPatterninWGLMakie#2432.Broadcast replaces deprecated method for quantile #2430.
Fix CairoMakie's screen reusing #2440.
Fix repeated rendering with invisible objects #2437.
Fix hvlines for GLMakie #2446.
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
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
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
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
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
- Fixed stackoverflow in show #2167.
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
- Bumped compatibility bound of
GridLayoutBase.jltov0.9.0which fixed a regression withMixedandOutsidealignmodes in nestedGridLayouts #2135.
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
- 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
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
- Fixed a regression with
linkaxes!#2039.
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
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
- 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
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
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
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
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
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
Re-enabled 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
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
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.