- 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)
- 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.
- 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.
- 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://makie.juliaplots.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
transpareny = 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.
- 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.
- 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.
- 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.
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.