From 8d9586a7bc23cee8621d452386d1d0fdec771c2d Mon Sep 17 00:00:00 2001 From: Marieke Osewold Date: Mon, 26 Jan 2026 13:04:04 +0100 Subject: [PATCH 1/3] add cell colorbars to 2D gridplot --- src/pycommon.jl | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/src/pycommon.jl b/src/pycommon.jl index 875b7d0..4d250c6 100644 --- a/src/pycommon.jl +++ b/src/pycommon.jl @@ -258,6 +258,15 @@ function gridplot!(ctx, TP::Type{T}, ::Type{Val{2}}, grid) where {T <: AbstractP vmax = length(bcmap) + 0.5, ) + # dummy plot to get a correct color bar for the cell data + cdata = ax.tripcolor( + dummy_coords_x, dummy_coords_y, dummy_triangle; # use the dummy triangle + facecolors = cell_colors[1:1], # only one triangle! + cmap = PyPlotter.ColorMap(cmap, length(cmap)), + vmin = 0.5, + vmax = length(cmap) + 0.5, + ) + ax.tripcolor( tridat...; facecolors = cell_colors, @@ -266,22 +275,41 @@ function gridplot!(ctx, TP::Type{T}, ::Type{Val{2}}, grid) where {T <: AbstractP if ctx[:show_colorbar] if ctx[:colorbar] == :horizontal - cbar = fig.colorbar( + + fig.colorbar( bcdata; ax = ax, ticks = collect(1:length(bcmap)), orientation = "horizontal", - label = "boundary regions", + label = "boundary regions" ) + + fig.colorbar( + cdata; + ax = ax, + ticks = collect(1:length(cmap)), + orientation = "horizontal", + label = "cell regions" + ) + end if ctx[:colorbar] == :vertical - cbar = fig.colorbar( + + fig.colorbar( bcdata; ax = ax, ticks = collect(1:length(bcmap)), orientation = "vertical", - label = "boundary regions", + label = "boundary regions" + ) + + fig.colorbar( + cdata; + ax = ax, + ticks = collect(1:length(cmap)), + orientation = "vertical", + label = "cell regions" ) end end From 2d46595d9438704a5fbc85dac59179a0f9196d8e Mon Sep 17 00:00:00 2001 From: Marieke Osewold Date: Tue, 21 Apr 2026 10:30:54 +0200 Subject: [PATCH 2/3] Update Changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b07b206..26d4a56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## [1.18.1] - 2026-04-21 +- Add colorbar for cell regions in 2D `gridplot!` with `Py[thon]Plot` + ## [1.18.0] - 2026-04-15 - new UnicodePlots.jl extension that at the moment supports gridplot and scalarplot in 1D and 2D From d3261587d56455844a29e25963d3df246a8303f7 Mon Sep 17 00:00:00 2001 From: Marieke Osewold Date: Tue, 21 Apr 2026 11:19:31 +0200 Subject: [PATCH 3/3] Reduce duplication in colorbar logic --- CHANGELOG.md | 2 +- Project.toml | 2 +- src/pycommon.jl | 32 +++++--------------------------- 3 files changed, 7 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26d4a56..b0918d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [1.18.1] - 2026-04-21 +## [1.18.2] - 2026-04-21 - Add colorbar for cell regions in 2D `gridplot!` with `Py[thon]Plot` ## [1.18.0] - 2026-04-15 diff --git a/Project.toml b/Project.toml index 62902a9..298e773 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "GridVisualize" uuid = "5eed8a63-0fb0-45eb-886d-8d5a387d12b8" authors = ["Juergen Fuhrmann ", "Patrick Jaap "] -version = "1.18.1" +version = "1.18.2" [deps] ColorSchemes = "35d6a980-a343-548e-a6ea-1d62b119f2f4" diff --git a/src/pycommon.jl b/src/pycommon.jl index 4d250c6..a72cf02 100644 --- a/src/pycommon.jl +++ b/src/pycommon.jl @@ -274,41 +274,19 @@ function gridplot!(ctx, TP::Type{T}, ::Type{Val{2}}, grid) where {T <: AbstractP ) if ctx[:show_colorbar] - if ctx[:colorbar] == :horizontal - + if ctx[:colorbar] in (:horizontal, :vertical) fig.colorbar( bcdata; ax = ax, - ticks = collect(1:length(bcmap)), - orientation = "horizontal", + ticks = 1:length(bcmap), + orientation = "$(ctx[:colorbar])", label = "boundary regions" ) - - fig.colorbar( - cdata; - ax = ax, - ticks = collect(1:length(cmap)), - orientation = "horizontal", - label = "cell regions" - ) - - end - - if ctx[:colorbar] == :vertical - - fig.colorbar( - bcdata; - ax = ax, - ticks = collect(1:length(bcmap)), - orientation = "vertical", - label = "boundary regions" - ) - fig.colorbar( cdata; ax = ax, - ticks = collect(1:length(cmap)), - orientation = "vertical", + ticks = 1:length(cmap), + orientation = "$(ctx[:colorbar])", label = "cell regions" ) end