News
master
v0.19.12
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.
v0.19.11
v0.19.10
Fix bugs with Colorbar in recipes, add new API for creating a recipe colorbar and introduce experimental support for Categorical colormaps #3090.
Add 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
v0.19.9
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.Upgrades
StableHashTraitsfrom 0.3 to 1.0
v0.19.8
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.
v0.19.7
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.
Fix 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.
v0.19.6
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.
v0.19.5
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.
v0.19.4
Added export of
hidezdecorations!from MakieLayout #2821.Fixed an issue with GLMakie lines becoming discontinuous #2828.
v0.19.3
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.
v0.19.1
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 JSServe, implement WGLMakie picking, improve performance and fix lots of WGLMakie bugs #2428.
v0.19.0
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.
v0.18.4
Added the
waterfallplotting function #2416.Add support for
AbstractPatterninWGLMakie#2432.Broadcast replaces deprecated method for quantile #2430.
Fix CairoMakie's screen re-using #2440.
Fix repeated rendering with invisible objects #2437.
Fix hvlines for GLMakie #2446.
v0.18.3
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.
v0.18.2
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.
v0.18.1
fix heatmap interpolation #2343.
move poly to MakieCore #2334
Fix picking warning and updateaxiscamera #2352.
bring back inline!, to not open a window in VSCode repl #2353.
v0.18
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.
v0.17.13
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.
v0.17.12
Fixed stackoverflow in show #2167.
v0.17.11
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.
v0.17.10
Bumped compatibility bound of
GridLayoutBase.jltov0.9.0which fixed a regression withMixedandOutsidealignmodes in nestedGridLayouts #2135.
v0.17.9
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.
v0.17.7
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.
v0.17.6
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.
v0.17.5
Fixed a regression with
linkaxes!#2039.
v0.17.4
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.
v0.17.3
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.
v0.17.2
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.
v0.17.1
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.
v0.17
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.
v0.16.4
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.
v0.16
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
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
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.
v0.15.3
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.
v0.15.2
Reenabled Julia 1.3 support.
Use MathTexEngine v0.2.
Depend on new GeometryBasics, which changes all the Vec/Point/Quaternion/RGB/RGBA - f0 aliases to just f. For example,
Vec2f0is changed toVec2f. Old aliases are still exported, but deprecated and will be removed in the next breaking release. For more details and an upgrade script, visit GeometryBasics#97.Added
hspan!andvspan!functions #1264.
v0.15.1
Switched documentation framework to Franklin.jl.
Added a specialization for
volumeslicesto DataInspector.Fixed 1 element
hist#1238 and make it easier to movehist#1150.
v0.15.0
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.
These docs were autogenerated using Makie: v0.19.12, GLMakie: v0.8.12, CairoMakie: v0.10.12, WGLMakie: v0.8.16