hgg 0.1.0.0 → 0.2.0.0
raw patch · 3 files changed
+37/−29 lines, 3 filesdep ~hgg-3ddep ~hgg-coredep ~hgg-framePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: hgg-3d, hgg-core, hgg-frame, hgg-latex, hgg-pdf, hgg-rasterific, hgg-svg
API changes (from Hackage documentation)
Files
- CHANGELOG.md +8/−0
- README.md +21/−21
- hgg.cabal +8/−8
CHANGELOG.md view
@@ -1,5 +1,13 @@ # Changelog for `hgg` +## 0.2.0.0 — 2026-08-13++- Version lockstep with the hgg 0.2 package set (exact pins on hgg-core /+ hgg-frame / hgg-svg 0.2.0.0; the `pdf` / `png` / `latex` / `3d` flags pull+ in the 0.2 backends).+- **Breaking** (inherited from hgg-core): theme constructors `ThemeCanvas` /+ `ThemeCanvasDark` renamed to `ThemeParchment` / `ThemeParchmentDark`.+ ## 0.1.0.0 — 2026-07-19 First public release on Hackage.
README.md view
@@ -14,37 +14,37 @@ (`hgg-svg`), and a single `import Graphics.Hgg` covers the whole default experience. -<img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/tutorials/01-visualize/09-final.svg" width="560" alt="Finished plot: penguin body mass vs flipper length, coloured and shaped by species, with a regression line">+<img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/tutorials/01-visualize/09-final.svg" width="560" alt="Finished plot: penguin body mass vs flipper length, coloured and shaped by species, with a regression line"> ## Gallery <table> <tr>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L94"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/line.svg" width="210" alt="function lines"></a></td>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L102"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/scatter.svg" width="210" alt="scatter"></a></td>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L107"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/histogram.svg" width="210" alt="histogram"></a></td>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L112"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/density.svg" width="210" alt="density"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L94"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/line.svg" width="210" alt="function lines"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L102"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/scatter.svg" width="210" alt="scatter"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L107"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/histogram.svg" width="210" alt="histogram"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L112"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/density.svg" width="210" alt="density"></a></td> </tr> <tr>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L124"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/boxplot.svg" width="210" alt="boxplot"></a></td>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L129"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/violin.svg" width="210" alt="violin"></a></td>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L151"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/contour.svg" width="210" alt="contour"></a></td>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L156"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/heatmap.svg" width="210" alt="heatmap"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L124"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/boxplot.svg" width="210" alt="boxplot"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L129"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/violin.svg" width="210" alt="violin"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L151"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/contour.svg" width="210" alt="contour"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L156"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/heatmap.svg" width="210" alt="heatmap"></a></td> </tr> <tr>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L215"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/hexbin.svg" width="210" alt="hexbin"></a></td>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L167"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/quiver.svg" width="210" alt="vector field"></a></td>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L177"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/bar.svg" width="210" alt="stacked bar"></a></td>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L182"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/pie.svg" width="210" alt="pie chart"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L215"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/hexbin.svg" width="210" alt="hexbin"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L167"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/quiver.svg" width="210" alt="vector field"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L177"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/bar.svg" width="210" alt="stacked bar"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L182"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/pie.svg" width="210" alt="pie chart"></a></td> </tr> <tr>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/docs/api-guide/04-decoration.md#facet"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/tutorials/01-visualize/24-facet-island.svg" width="210" alt="facets"></a></td>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L139"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/distcols.svg" width="210" alt="distCols side-by-side"></a></td>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L188"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/subplots.svg" width="210" alt="subplots patchwork"></a></td>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L204"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/surface3d.svg" width="210" alt="3D response surface"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/docs/api-guide/04-decoration.md#facet"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/tutorials/01-visualize/24-facet-island.svg" width="210" alt="facets"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L139"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/distcols.svg" width="210" alt="distCols side-by-side"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L188"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/subplots.svg" width="210" alt="subplots patchwork"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L204"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/surface3d.svg" width="210" alt="3D response surface"></a></td> </tr> <tr>- <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L226"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/hbm-hier-dag.svg" width="210" alt="hierarchical Bayesian model DAG"></a></td>+ <td><a href="https://github.com/frenzieddoll/hgg/blob/v0.1.0.0/hgg-tutorials/readme-images/ReadmeImages.hs#L226"><img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/hbm-hier-dag.svg" width="210" alt="hierarchical Bayesian model DAG"></a></td> </tr> </table> @@ -127,7 +127,7 @@ , ("y", NumData (V.fromList [1,4,9,16,25])) ] :: [(Text, ColData)] ``` -<img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/images/readme/quickstart.svg" width="420" alt="scatter plot of y = x²">+<img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/images/readme/quickstart.svg" width="420" alt="scatter plot of y = x²"> ## A taste of the grammar @@ -144,7 +144,7 @@ <> theme ThemeGrey ``` -<img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/tutorials/01-visualize/04-scatter.svg" width="420" alt="scatter plot">+<img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/tutorials/01-visualize/04-scatter.svg" width="420" alt="scatter plot"> **2. Colour by species** — add `colorBy "species"` to the mark. @@ -157,7 +157,7 @@ <> theme ThemeGrey ``` -<img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.1.0.0/docs/tutorials/01-visualize/05-color.svg" width="420" alt="coloured scatter plot">+<img src="https://raw.githubusercontent.com/frenzieddoll/hgg/v0.2.0.0/docs/tutorials/01-visualize/05-color.svg" width="420" alt="coloured scatter plot"> **3. Overlay a regression line and labels** — keep adding layers and decorations with `<>`.
hgg.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: hgg-version: 0.1.0.0+version: 0.2.0.0 extra-doc-files: CHANGELOG.md README.md synopsis: A grammar of graphics plotting library for Haskell@@ -65,15 +65,15 @@ exposed-modules: Graphics.Hgg hs-source-dirs: src build-depends: base >= 4.17 && < 5- , hgg-core == 0.1.0.0- , hgg-frame == 0.1.0.0- , hgg-svg == 0.1.0.0+ , hgg-core == 0.2.0.0+ , hgg-frame == 0.2.0.0+ , hgg-svg == 0.2.0.0 if flag(pdf)- build-depends: hgg-pdf == 0.1.0.0+ build-depends: hgg-pdf == 0.2.0.0 if flag(png)- build-depends: hgg-rasterific == 0.1.0.0+ build-depends: hgg-rasterific == 0.2.0.0 if flag(latex)- build-depends: hgg-latex == 0.1.0.0+ build-depends: hgg-latex == 0.2.0.0 if flag(3d)- build-depends: hgg-3d == 0.1.0.0+ build-depends: hgg-3d == 0.2.0.0 default-language: Haskell2010