From d1c2d93040fc3186e5b452c112321f35a519ff3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Hock?= Date: Sun, 16 Oct 2022 15:06:45 +0200 Subject: [PATCH 1/5] Add imshow function --- include/matplotlibcpp17/pyplot.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/matplotlibcpp17/pyplot.h b/include/matplotlibcpp17/pyplot.h index 9e8da89..d86e17e 100644 --- a/include/matplotlibcpp17/pyplot.h +++ b/include/matplotlibcpp17/pyplot.h @@ -69,6 +69,10 @@ struct DECL_STRUCT_ATTR PyPlot { pybind11::object grid(const pybind11::tuple &args = pybind11::tuple(), const pybind11::dict &kwargs = pybind11::dict()); + // imshow + pybind11::object imshow(const pybind11::tuple &args = pybind11::tuple(), + const pybind11::dict &kwargs = pybind11::dict()); + // legend pybind11::object legend(const pybind11::tuple &args = pybind11::tuple(), const pybind11::dict &kwargs = pybind11::dict()); @@ -143,6 +147,7 @@ struct DECL_STRUCT_ATTR PyPlot { LOAD_FUNC_ATTR(gca, mod); LOAD_FUNC_ATTR(gcf, mod); LOAD_FUNC_ATTR(grid, mod); + LOAD_FUNC_ATTR(imshow, mod); LOAD_FUNC_ATTR(legend, mod); LOAD_FUNC_ATTR(pause, mod); LOAD_FUNC_ATTR(plot, mod); @@ -170,6 +175,7 @@ struct DECL_STRUCT_ATTR PyPlot { pybind11::object gca_attr; pybind11::object gcf_attr; pybind11::object grid_attr; + pybind11::object imshow_attr; pybind11::object legend_attr; pybind11::object pause_attr; pybind11::object plot_attr; @@ -258,6 +264,13 @@ pybind11::object PyPlot::grid(const pybind11::tuple &args, return obj; } +// imshow +pybind11::object PyPlot::imshow(const pybind11::tuple &args, + const pybind11::dict &kwargs) { + pybind11::object obj = imshow_attr(*args, **kwargs); + return obj; +} + // legend pybind11::object PyPlot::legend(const pybind11::tuple &args, const pybind11::dict &kwargs) { From c17735f5a0957796940e66da846bef22b485dcca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Hock?= Date: Sun, 16 Oct 2022 15:12:25 +0200 Subject: [PATCH 2/5] Add clim function --- include/matplotlibcpp17/pyplot.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/matplotlibcpp17/pyplot.h b/include/matplotlibcpp17/pyplot.h index d86e17e..0848d99 100644 --- a/include/matplotlibcpp17/pyplot.h +++ b/include/matplotlibcpp17/pyplot.h @@ -44,6 +44,10 @@ struct DECL_STRUCT_ATTR PyPlot { pybind11::object clf(const pybind11::tuple &args = pybind11::tuple(), const pybind11::dict &kwargs = pybind11::dict()); + // clim + pybind11::object clim(const pybind11::tuple &args = pybind11::tuple(), + const pybind11::dict &kwargs = pybind11::dict()); + // errorbar pybind11::object errorbar(const pybind11::tuple &args = pybind11::tuple(), const pybind11::dict &kwargs = pybind11::dict()); @@ -141,6 +145,7 @@ struct DECL_STRUCT_ATTR PyPlot { LOAD_FUNC_ATTR(axis, mod); LOAD_FUNC_ATTR(cla, mod); LOAD_FUNC_ATTR(clf, mod); + LOAD_FUNC_ATTR(clim, mod); LOAD_FUNC_ATTR(errorbar, mod); LOAD_FUNC_ATTR(figaspect, mod); LOAD_FUNC_ATTR(figure, mod); @@ -169,6 +174,7 @@ struct DECL_STRUCT_ATTR PyPlot { pybind11::object axis_attr; pybind11::object cla_attr; pybind11::object clf_attr; + pybind11::object clim_attr; pybind11::object errorbar_attr; pybind11::object figaspect_attr; pybind11::object figure_attr; @@ -220,6 +226,13 @@ pybind11::object PyPlot::clf(const pybind11::tuple &args, return ret; } +// clim +pybind11::object PyPlot::clim(const pybind11::tuple &args, + const pybind11::dict &kwargs) { + pybind11::object ret = clim_attr(*args, **kwargs); + return ret; +} + // errorbar pybind11::object PyPlot::errorbar(const pybind11::tuple &args, const pybind11::dict &kwargs) { From ef2da0dbf1349c77761c7862c8acb30ffe3337c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Hock?= Date: Sun, 16 Oct 2022 15:19:06 +0200 Subject: [PATCH 3/5] Add gci function --- include/matplotlibcpp17/pyplot.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/matplotlibcpp17/pyplot.h b/include/matplotlibcpp17/pyplot.h index 0848d99..290a5a9 100644 --- a/include/matplotlibcpp17/pyplot.h +++ b/include/matplotlibcpp17/pyplot.h @@ -69,6 +69,10 @@ struct DECL_STRUCT_ATTR PyPlot { figure::Figure gcf(const pybind11::tuple &args = pybind11::tuple(), const pybind11::dict &kwargs = pybind11::dict()); + // gci + pybind11::object gci(const pybind11::tuple &args = pybind11::tuple(), + const pybind11::dict &kwargs = pybind11::dict()); + // grid pybind11::object grid(const pybind11::tuple &args = pybind11::tuple(), const pybind11::dict &kwargs = pybind11::dict()); @@ -151,6 +155,7 @@ struct DECL_STRUCT_ATTR PyPlot { LOAD_FUNC_ATTR(figure, mod); LOAD_FUNC_ATTR(gca, mod); LOAD_FUNC_ATTR(gcf, mod); + LOAD_FUNC_ATTR(gci, mod); LOAD_FUNC_ATTR(grid, mod); LOAD_FUNC_ATTR(imshow, mod); LOAD_FUNC_ATTR(legend, mod); @@ -180,6 +185,7 @@ struct DECL_STRUCT_ATTR PyPlot { pybind11::object figure_attr; pybind11::object gca_attr; pybind11::object gcf_attr; + pybind11::object gci_attr; pybind11::object grid_attr; pybind11::object imshow_attr; pybind11::object legend_attr; @@ -270,6 +276,13 @@ figure::Figure PyPlot::gcf(const pybind11::tuple &args, return figure::Figure(obj); } +// gci +pybind11::object PyPlot::gci(const pybind11::tuple &args, + const pybind11::dict &kwargs) { + pybind11::object obj = gci_attr(*args, **kwargs); + return obj; +} + // grid pybind11::object PyPlot::grid(const pybind11::tuple &args, const pybind11::dict &kwargs) { From 42fd11bccd6f0de99abb89666cafc810fee78135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Hock?= Date: Sun, 16 Oct 2022 15:23:59 +0200 Subject: [PATCH 4/5] Add colorbar function --- include/matplotlibcpp17/pyplot.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/matplotlibcpp17/pyplot.h b/include/matplotlibcpp17/pyplot.h index 290a5a9..7fa4ca0 100644 --- a/include/matplotlibcpp17/pyplot.h +++ b/include/matplotlibcpp17/pyplot.h @@ -48,6 +48,10 @@ struct DECL_STRUCT_ATTR PyPlot { pybind11::object clim(const pybind11::tuple &args = pybind11::tuple(), const pybind11::dict &kwargs = pybind11::dict()); + // colorbar + pybind11::object colorbar(const pybind11::tuple &args = pybind11::tuple(), + const pybind11::dict &kwargs = pybind11::dict()); + // errorbar pybind11::object errorbar(const pybind11::tuple &args = pybind11::tuple(), const pybind11::dict &kwargs = pybind11::dict()); @@ -150,6 +154,7 @@ struct DECL_STRUCT_ATTR PyPlot { LOAD_FUNC_ATTR(cla, mod); LOAD_FUNC_ATTR(clf, mod); LOAD_FUNC_ATTR(clim, mod); + LOAD_FUNC_ATTR(colorbar, mod); LOAD_FUNC_ATTR(errorbar, mod); LOAD_FUNC_ATTR(figaspect, mod); LOAD_FUNC_ATTR(figure, mod); @@ -180,6 +185,7 @@ struct DECL_STRUCT_ATTR PyPlot { pybind11::object cla_attr; pybind11::object clf_attr; pybind11::object clim_attr; + pybind11::object colorbar_attr; pybind11::object errorbar_attr; pybind11::object figaspect_attr; pybind11::object figure_attr; @@ -239,6 +245,13 @@ pybind11::object PyPlot::clim(const pybind11::tuple &args, return ret; } +// colorbar +pybind11::object PyPlot::colorbar(const pybind11::tuple &args, + const pybind11::dict &kwargs) { + pybind11::object ret = colorbar_attr(*args, **kwargs); + return ret; +} + // errorbar pybind11::object PyPlot::errorbar(const pybind11::tuple &args, const pybind11::dict &kwargs) { From a869970967feda8e1d6b26aed412b55cffcc7c58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Hock?= Date: Sun, 16 Oct 2022 22:44:03 +0200 Subject: [PATCH 5/5] Add sombrero example --- gallery/contrib/sombrero,cpp | 35 +++++++++++++++++++++++++++++++++++ gallery/contrib/sombrero.png | Bin 0 -> 46100 bytes 2 files changed, 35 insertions(+) create mode 100644 gallery/contrib/sombrero,cpp create mode 100644 gallery/contrib/sombrero.png diff --git a/gallery/contrib/sombrero,cpp b/gallery/contrib/sombrero,cpp new file mode 100644 index 0000000..8b03ff3 --- /dev/null +++ b/gallery/contrib/sombrero,cpp @@ -0,0 +1,35 @@ +#include +#include + +int main() +{ + pybind11::scoped_interpreter guard{}; + + const int size = 1000; + const double sigma = 100; + + const auto i = nc::arange(size) - (0.5 * size); + const auto [x, y] = nc::meshgrid(i, i); + + const auto xy = (nc::power(x, 2) + nc::power(y, 2)) / (-2.0 * nc::power(sigma, 2)); + + const auto sombrero = nc::exp(xy) * (xy + 1.0) / (std::acos(-1.0) * nc::power(sigma, 4)); + const auto pysombrero = nc::pybindInterface::nc2pybind(sombrero); + + const auto min = nc::min(sombrero)[0]; + const auto max = nc::max(sombrero)[0]; + + auto plt = matplotlibcpp17::pyplot::import(); + + plt.imshow(Args(pysombrero), Kwargs( + "extent"_a = pybind11::make_tuple(-1, +1, -1, +1), + "cmap"_a = "inferno")); + + plt.colorbar(); + + plt.clim(pybind11::make_tuple(min * 0.8, max * 0.8)); + + plt.show(); + + return 0; +} \ No newline at end of file diff --git a/gallery/contrib/sombrero.png b/gallery/contrib/sombrero.png new file mode 100644 index 0000000000000000000000000000000000000000..16c7610055a537d156f0c2fcb3567fd7cb993fe5 GIT binary patch literal 46100 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 RSv(5<7@RWFDLi2v{6Ckv3OE1& literal 0 HcmV?d00001