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
backend
andupdate
kwargs 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_arguments
for 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
contourf
andColorbar
#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
Label
andtooltip
#4599Fixed
NaN
in 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
Screen
allowingdisplay(Makie.current_backend().Screen(), fig)
#4561.Added
subsup
andleft_subsup
functions that offer stacked sub- and superscripts forrich
text which means this style can be used with arbitrary fonts and is not limited to fonts supported by MathTeXEngine.jl #4489.Added the
jitter_width
andside_nudge
attributes to theraincloud
plot definition, so that they can be used as kwargs #4517Expand PlotList plots to expose their child plots to the legend interface, allowing
axislegend
show plots within PlotSpecs as individual entries. #4546Implement S.Colorbar(plotspec) #4520.
Fixed a hang when
Record
was created inside a closure passed toIOCapture.capture
#4562.Added logical size annotation to
text/html
inline videos so that sizes are appropriate independent of the currentpx_per_unit
value #4563.
0.21.15 - 2024-10-25 {#0.21.15-2024-10-25}
Allowed creation of
Legend
with entries that have no legend elements #4526.Improved CairoMakie's 2D mesh drawing performance by ~30% #4132.
Allow
width
to be set per box inboxplot
#4447.For
Textbox
es 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
record
by 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
Axis3
to svg #4463.Changed default for
circular_rotation
in Camera3D to false, so that the camera doesn't change rotation direction anymore 4492Fixed
pick(scene, rect2)
in WGLMakie #4488Fixed resizing of
surface
data 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
space
keyword 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_plot
for lines, causing incorrect tooltip placement in DataInspector #4402Added new
Checkbox
block #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.
Button
can now trigger on click and not mouse-down which is the canonical behavior in other GUI systems #4336.PolarAxis
font size now defaults to global figurefontsize
in the absence of specificAxis
theming #4314MultiplesTicks
accepts new optionstrip_zero=true
, allowing labels of the form0x
to 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_color
has been set to other than:transparent
#4310Fix
linestyle
not being used intriplot
#4332Invalid keyword arguments for
Block
s (e.g.Axis
andColorbar
) now throw errors and show suggestions rather than simply throwing #4392Fix voxel clipping not being based on voxel centers #4397
Parsing
Q
andq
commands in svg paths withBezierPath
is 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
poly
convert arguments for matrix with points as row #4258.Fix gl_ClipDistance related segfault on WSL with GLMakie #4270.
Added option
label_position = :center
to 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
save
when no backend is loaded #4177Fix rendering of
band
with 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
model
matrices 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.tick
to allow linking actions like animations to the renderloop. #3948Added the
uv_transform
attribute for meshscatter, mesh, surface and image #1406.Added the ability to use textures with
meshscatter
in 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_closest
in 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
highclip
orlowclip
and scalar colors #4048.Correct a bug in the
project
function when projecting using aScene
. #3909.Add position for
pie
plot #4027.Correct a method ambiguity in
insert!
which was causingPlotList
to fail on CairoMakie. #4038Delaunay triangulations created via
tricontourf
,triplot
, andvoronoiplot
no 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:
band
ignored itsalpha
argument in CairoMakieFix
marker=FastPixel()
makersize and markerspace, improvespy
recipe #4043.Fixed
invert_normals
for 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
pie
plot #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
poly
overloads 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 = :data
withscatter
#3960.CairoMakie: Fix broken SVGs when using non-interpolated image primitives, for example Colorbars, with recent Cairo versions #3967.
CairoMakie: Add argument
pdf_version
to 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
cycle
to 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}
boundingbox
now relies onapply_transform(transform, data_limits(plot))
rather than transforming the corner points of the bounding box #3856.Adjusted
Axis
limits 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
voxels
plot #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
@recipe
variant 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_limits
andboundingbox
#3671data_limits
now 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)
. #3723boundingbox
overwrites must now include a secondary space argument to workboundingbox(plot, space::Symbol = :data)
#3723boundingbox
now always considertransform_func
andmodel
data_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
rotations
torotation
forscatter
andmeshscatter
which had been inconsistent with the otherwise singular naming scheme and other plots liketext
#3724.Fixed
contourf
bug where n levels would sometimes miss the uppermost value, causing gaps #3713.Added
scale
attribute toviolin
#3352.Use label formatter in barplot #3718.
Fix the incorrect shading with non uniform markerscale in meshscatter #3722
Add
scale_to=:flip
option 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
linecap
andjoinstyle
attributes for lines and linesegments. Also normalizedmiter_limit
to 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
Axis
attributes likexticklabelcolor
#3826.Added support for intervals for specifying axis limits #3696
Added recipes for plotting intervals to
Band
,Rangebars
,H/VSpan
3695Documented
WilkinsonTicks
#3819.Added
axislegend(ax, "title")
method #3808.Improved thread safety of rendering with CairoMakie (independent
Scene
s 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!
forPolarAxis
axes #3823.Added
loop
option 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
contourf
bug where n levels would sometimes miss the uppermost value, causing gaps #3713.Added
scale
attribute toviolin
#3352.Use label formatter in barplot #3718.
Fix the incorrect shading with non uniform markerscale in meshscatter #3722
Add
scale_to=:flip
option 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
PointBased
conversion trait toscatterlines
recipe #3603.Multiple small fixes for
map_latest
,WGLMakie
picking andPlotSpec
#3637.Fixed PolarAxis
rticks
being 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
missing
s #3597.Fixed mutation of CairoMakie src dir when displaying png files #3588.
Added better error messages for plotting into
FigureAxisPlot
andAxisPlot
as 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
depthsorting
as 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 = true
in GLMakie. This allows removing outline artifacts at the cost of quality. #3408DataInspector Fixes: Fixed depth order, positional labels being in transformed space and
:inspector_clear
not 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=true
tovolume(...)
, 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/scratchspaces
instead of a dedicated.julia/makie
#3437
0.20.1 - 2023-11-23 {#0.20.1-2023-11-23}
Fixed bad rendering of
poly
in 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 fixedBlock
macro 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
surface
through CairoMakie #2598.Improved 3D camera handling, hotkeys and functionality #2746.
Added
shading = :verbose
in GLMakie to allow for multiple light sources. Also added more light types, fixed light directions for the previous lighting model (nowshading = :fast
) and adjustedbacklight
to 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_threshold
withPolarAxis.radius_at_origin
. #3381Breaking Deprecated the
resolution
keyword in favor ofsize
to reflect that this value is not a pixel resolution anymore #3343.Breaking Refactored the
SurfaceLike
family of traits intoVertexGrid
,CellGrid
andImageLike
#3106.Breaking Deprecated
pixelarea(scene)
andscene.px_area
in favor of viewport.Breaking Refactored the
Combined
Plot 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
errorbars
andrangebars
now use color cycling #3230.
0.19.12 - 2023-10-31 {#0.19.12-2023-10-31}
Added
cornerradius
attribute toBox
for 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
cornerradius
attribute toBox
for rounded corners #3308.Upgraded
StableHashTraits
from 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_gaps
in favor oflinestyle=Linestyle(vector_of_gaps)
3135, 3193.Fixed some errors around dynamic changes of
ax.xscale
orax.yscale
#3084Improved Barplot Label Alignment #3160.
Fixed regression in determining axis limits #3179
Added a theme
theme_latexfonts
that uses the latex font family as default fonts #3147, #3180.Upgrades
StableHashTraits
from 0.3 to 1.0
0.19.8 - 2023-08-15 {#0.19.8-2023-08-15}
Improved CairoMakie rendering of
lines
with repeating colors in an array #3141.Added
strokecolormap
to poly. #3145Added
xreversed
,yreversed
andzreversed
attributes 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
triplot
andvoronoiplot
recipes from DelaunayTriangulation.jl #3102, #3159.
0.19.7 - 2023-07-22 {#0.19.7-2023-07-22}
Allow arbitrary functions to color
streamplot
lines by passing aFunction
tocolor
. This must acceptPoint
of the appropriate dimension and return aPoint
,Vec
, or other arraylike object #2002.arrows
can now take input of the formx::AbstractVector, y::AbstractVector, [z::AbstractVector,] f::Function
, wheref
must return aVecTypes
of 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
linestyle
of some polys was not applied to the stroke in CairoMakie. #2604Add
colorscale = identity
to any plotting function using a colormap. This works with any scaling function likelog10
,sqrt
etc. Consequently,scale
forhexbin
is replaced withcolorscale
#2900.Add
alpha=1.0
argument 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.hexbin
now 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 usualAxis
attributes, butx
is replaced byr
andy
byθ
. It also inherits from the theme ofAxis
in this manner, so should work seamlessly with Makie themes #2990.inherit
now 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.yticks
byinherit(scene, (:Axis, :yticks), $default_value)
#2990.Fixed incorrect rendering of 3D heatmaps #2959
Deprecated
flatten_plots
in favor ofcollect_atomic_plots
. Using the newcollect_atomic_plots
fixed 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
errorbar
whiskers andbracket
correctly with transformations #3012.Updated
bracket
when 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
legendelements
when 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
loop
option 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.clear
to an observable and made changes inScene
Observables 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
stephist
plotting function #2408.Added the
brackets
plotting function #2356.Fixed an issue where
poly
plots 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
Stepper
constructor #2600.Improve cleanup on block deletion #2614
Add
menu.scroll_speed
and 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
LaTeXStrings
were not typeset correctly inAxis3
#2558.Fixed a bug where line segments in
text(lstr::LaTeXString)
were ignoring offsets #2668.Fixed a bug where the
arrows
recipe accidentally called aBool
whennormalize = true
#2740.Re-exported the
@colorant_str
(colorant"..."
) macro from Colors.jl #2726.Speedup heatmaps in WGLMakie. #2647
Fix slow
data_limits
for 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_data
method forband
which 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
textsize
has been removed everywhere in favor of the attributefontsize
which had also been in use. To migrate, search and replace all uses oftextsize
tofontsize
#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
waterfall
plotting function #2416.Add support for
AbstractPattern
inWGLMakie
#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_demand
flag forGLMakie.Screen
. Setting this totrue
will 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
BezierPath
which can be constructed from SVG like command list, SVG string or from aPolygon
. Added ability to useBezierPath
andPolgyon
as scatter markers. Replaced default symbol markers like:cross
which converted to characters before with more preciseBezierPaths
and adjusted default markersize to 12. Deprecated usingString
to 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 likeCircle
for dispatch to special backend methods. Added single image marker support to WGLMakie #979.Breaking Refactored
display
,record
,colorbuffer
andscreens
to be faster and more consistent #2306.Breaking Refactored
DataInspector
to usetooltip
. This results in changes in the attributes of DataInspector. Addedinspector_label
,inspector_hover
andinspector_clear
as optional attributes #2095.Added the
hexbin
plotting function #2201.Added the
tricontourf
plotting function #2226.Fixed per character attributes in text #2244.
Allowed
CairoMakie
to renderscatter
with 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
arrow
recipe #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
Scene
s by settingscene.visible[] = false
#2317.Axis
now accepts aTuple{Bool, Bool}
forxtrimspine
andytrimspine
to 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_limits
keyword argument, serving the same.
role as datalimits
in violin
#2137.
Fixed an issue where nonzero
strokewidth
results in a thin outline of the wrong color ifcolor
andstrokecolor
didn'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.jl
tov0.9.0
which fixed a regression withMixed
andOutside
alignmodes in nestedGridLayout
s #2135.
0.17.9 - 2022-07-12 {#0.17.9-2022-07-12}
Patterns (
Makie.AbstractPattern
) are now supported byCairoMakie
inpoly
plots that don't involvemesh
, such asbar
andpoly
#2106.Fixed regression where
Block
alignments 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
xticksmirrored
andyticksmirrored
#2105.Fixed a bug where a set of
Axis
wouldn'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
Menu
performance, now it should be much harder to reach the boundary of 255 scenes in GLMakie.Menu
also takes adefault
keyword 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
heatmap
with GLMakie #2036Textbox
doesn't defocus anymore on trying to submit invalid input #2041.text
now takes the position as the first argument(s) likescatter
and 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 anAxis
argument 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
rainclouds
andrainclouds!
#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.cgrad
were not interpreted correctly.
0.17.2 - 2022-05-16 {#0.17.2-2022-05-16}
- Changed the default font from
Dejavu Sans
toTeX Gyre Heros Makie
which is the same asTeX Gyre Heros
with 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
,Axis3
andLegend
attributestitlefont
toTeX Gyre Heros Makie Bold
in 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 = true
causes it to use the suggested width and wrap text to fit. Intext
,word_wrap_width > 0
can 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
scatter
implementation 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
space
as a generic attribute to switch between data, pixel, relative and clip space for positions.space
in text has been renamed tomarkerspace
because of this.Pixel
andSceneSpace
are no longer valid inputs forspace
ormarkerspace
#1596.Breaking Deprecated
mouse_selection(scene)
forpick(scene)
.Breaking Bumped
GridLayoutBase
version 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
,keyboardbuttons
andmousedrag
.Layoutable
was renamed toBlock
and the infrastructure changed such that attributes are fixed fields and each block has its ownScene
for better encapsulation #1796.Added
SliderGrid
block which replaces the deprecatedlabelslider!
andlabelslidergrid!
functions #1796.The default anti-aliasing method can now be set in
CairoMakie.activate!
using theantialias
keyword. Available options areCairoMakie.Cairo.ANTIALIAS_*
#1875.Added ability to rasterize a plots in CairoMakie vector graphics if
plt.rasterize = true
orplt.rasterize = scale::Int
#1872.Fixed segfaults in
streamplot_impl
on 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
,highclip
forimage(::Matrix{Float})
in shader.Cleaned up mesh shader and implemented
nan_color
,lowclip
,highclip
formesh(m; color::Matrix{Float})
on the shader.Allowed
GLMakie.Buffer
GLMakie.Sampler
to be used inGeometryBasics.Mesh
to 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
Node
alias #1307, #1393. To upgrade, simply replace all occurrences ofNode
withObservable
.Breaking Cleaned up
Scene
type #1192, #1393. TheScene()
constructor doesn't create any axes or limits anymore. All keywords likeraw
,show_axis
have 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 newScene
tutorial 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
Cycled
type, which can be used to select the i-th value from the current cycler for a specific attribute #1248.The plot function
scatterlines
now usescolor
asmarkercolor
ifmarkercolor
isautomatic
. Also, cycling of thecolor
attribute is enabled #1463.Added the function
resize_to_layout!
, which allows to resize aFigure
so that it contains its topGridLayout
without 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
colormap
without 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
width
attribute is passed, the default width is computed as the minimum difference between consecutivex
positions. Gap between bars are given by the (multiplicative)gap
attribute. 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
Menu
render order #1411.Added
label_rotation
to barplot #1401.Fixed issue where
pixelcam!
does not remove controls from other cameras #1504.Added conversion for OffsetArrays #1260.
The
qqplot
qqline
options were changed to:identity
,:fit
,:fitrobust
and: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 correctqqline
fit.
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.format
format 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,
Vec2f0
is 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
volumeslices
to 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}
LaTeXString
s can now be used as input totext
and 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
Symlog10
andpseudolog10
axis scales for log scale approximations that work with zero and negative values #1109.Colorbar limits can now be passed as the attribute
colorrange
similar to plots #1066.Added the option to pass three vectors to heatmaps and other plots using
SurfaceLike
conversion #1101.Added
stairs
plot recipe #1086.Breaking Removed
FigurePosition
andFigureSubposition
types. Indexing into aFigure
likefig[1, 1]
now returnsGridPosition
andGridSubposition
structs, 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])
wheregl
is aGridLayout
that 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
linewidth
value 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
RectangleZoom
axis interaction to enable other use cases than zooming #1104.Fixed rendering of
heatmap
s 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.