1"use strict";(globalThis.webpackChunklilaq=globalThis.webpackChunklilaq||[]).push([[5472],{34295(e,n,t){t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var i=t(55969),s=t(74848),l=t(28453);const a={title:"Release: Lilaq 0.3.0",authors:["Mc-Zen"],tags:["release"],date:new Date("2025-05-09T00:00:00.000Z")},o=void 0,r={authorsImageUrls:[void 0]},c=[{value:"Changelog",id:"changelog",level:2}];function d(e){const n={a:"a",code:"code",em:"em",h2:"h2",li:"li",p:"p",ul:"ul",...(0,l.R)(),...e.components},{Crossref:t}=n;return t||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Crossref",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:["The new version ships with a set of predefined ",(0,s.jsx)(n.a,{href:"/themes",children:"themes"})," that you can use to quickly change the style of your plots."]}),"\n",(0,s.jsx)(n.p,{children:"Moreover, various improvements to important components of Lilaq have been made along with the addition of a large selection of scientific and colorblind-friendly color maps."}),"\n",(0,s.jsxs)(n.p,{children:["Notably, we have added a new tutorial on ",(0,s.jsx)(n.a,{href:"/docs/tutorials/data-loading",children:"data loading"})," with Typst and Lilaq."]}),"\n",(0,s.jsx)(n.h2,{id:"changelog",children:"Changelog"}),"\n",(0,s.jsx)(n.p,{children:"Additions"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["A set of ",(0,s.jsx)(n.a,{href:"/themes",children:"predefined themes"})," is now available!"]}),"\n",(0,s.jsxs)(n.li,{children:["Added the qualitative color sequence ",(0,s.jsx)(n.code,{children:"lq.color.map.okabe-ito"})," according to ",(0,s.jsx)(n.a,{href:"https://jfly.uni-koeln.de/color/",children:"https://jfly.uni-koeln.de/color/"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["Added a range of sequential and diverging ",(0,s.jsx)(n.a,{href:"/docs/reference/color",children:"color maps"})," that are ",(0,s.jsx)(n.em,{children:"scientific"}),", i.e., perceptually uniform, perceptually ordered, and color-vision deficiency (CVD) friendly, see ."]}),"\n",(0,s.jsxs)(n.li,{children:["A new plot type ",(0,s.jsx)(t,{target:"hboxplot"})," as horizontal pendant to the existing ",(0,s.jsx)(t,{target:"boxplot"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["An ",(0,s.jsx)(t,{target:"axis#inverted"})," property to quickly swap min/max limits."]}),"\n",(0,s.jsx)(n.li,{children:"A tick locator for symlog axes."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Breaking changes"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\u26a0\ufe0f The parameter ",(0,s.jsx)(n.code,{children:"line"})," of ",(0,s.jsx)(t,{target:"hlines"})," and ",(0,s.jsx)(t,{target:"vlines"})," has been renamed to ",(0,s.jsx)(n.code,{children:"stroke"})," to bring the signature in line with the other plotting functions."]}),"\n",(0,s.jsxs)(n.li,{children:["\u26a0\ufe0f The ",(0,s.jsx)(t,{target:"symlog#threshold"})," is now by default 1 (instead of 2)."]}),"\n",(0,s.jsxs)(n.li,{children:["\u26a0\ufe0f The color sequences ",(0,s.jsx)(n.code,{children:"matplotlib10"})," and ",(0,s.jsx)(n.code,{children:"matplotlib20"})," have been removed."]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Improvements"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(t,{target:"diagram#legend"})," now accepts a full ",(0,s.jsx)(t,{target:"legend"})," as argument which enables one to specify all entries manually."]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(t,{target:"boxplot"})," now allows defining the statistical values manually instead of passing a data set."]}),"\n",(0,s.jsxs)(n.li,{children:["Functions like ",(0,s.jsx)(t,{target:"plot"})," can now have empty coordinate arrays."]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Fixed"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["The ",(0,s.jsx)(n.code,{children:"step"})," mode for ",(0,s.jsx)(t,{target:"fill-between"})," works again."]}),"\n",(0,s.jsxs)(n.li,{children:["The parameters ",(0,s.jsx)(t,{target:"diagram#xlim"})," and ",(0,s.jsx)(t,{target:"diagram#ylim"})," don't fold any more through array concatenation with ",(0,s.jsx)(n.code,{children:"set"})," rules."]}),"\n",(0,s.jsxs)(n.li,{children:["For plot functions like ",(0,s.jsx)(t,{target:"colormesh"}
1)," that ignore the cycle style, the cycle counter is now ",(0,s.jsx)(n.em,{children:"not"})," advanced."]}),"\n",(0,s.jsx)(n.li,{children:"Fixed an issue with the default tick locator when an integer tick distance was given."}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Documentation"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Added a tutorial on ",(0,s.jsx)(n.a,{href:"https://lilaq.org/docs/tutorials/data-loading",children:"data loading"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["Mention the usage of ",(0,s.jsx)(n.code,{children:"std.pad"})," together with ",(0,s.jsx)(t,{target:"lq.place"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["Mention the possibility of masking values with ",(0,s.jsx)(t,{target:"colormesh"}),"."]}),"\n",(0,s.jsx)(n.li,{children:"Articles in the reference section now contain a link that brings you to the source of the definition on GitHub."}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,l.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},28453(e,n,t){t.d(n,{R:()=>a,x:()=>o});var i=t(96540);const s={},l=i.createContext(s);function a(e){const n=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(l.Provider,{value:n},e.children)}},55969(e){e.exports=JSON.parse('{"permalink":"/blog/release-0.3.0","source":"@site/blog/release-0.3.0.md","title":"Release: Lilaq 0.3.0","description":"The new version ships with a set of predefined themes that you can use to quickly change the style of your plots.","date":"2025-05-09T00:00:00.000Z","tags":[{"inline":false,"label":"Release","permalink":"/blog/tags/release","description":"Release announcements"}],"readingTime":1.86,"hasTruncateMarker":true,"authors":[{"name":"Mc-Zen","url":"https://github.com/Mc-Zen","title":"Lilaq author/maintainer","page":{"permalink":"/blog/authors/mc-zen"},"socials":{"github":"https://github.com/Mc-Zen"},"imageURL":"https://github.com/Mc-Zen.png","key":"Mc-Zen"}],"frontMatter":{"title":"Release: Lilaq 0.3.0","authors":["Mc-Zen"],"tags":["release"],"date":"2025-05-09T00:00:00.000Z"},"unlisted":false,"prevItem":{"title":"Release: Lilaq 0.4.0","permalink":"/blog/release-0.4.0"},"nextItem":{"title":"Release: Lilaq 0.2.0","permalink":"/blog/release-0.2.0"}}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.