From 931f0357f5103d7ded7db008c7f43df0f3a6d2e4 Mon Sep 17 00:00:00 2001 From: andros21 Date: Mon, 26 Sep 2022 15:20:36 +0200 Subject: [PATCH] feat(README): doc new tool `matplotlib` --- README.md | 37 +++++++++++++++--- ...6609ec52b06244f4b2db3687d86c4a5ef47035.png | Bin 0 -> 20620 bytes 2 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 pd-images/696609ec52b06244f4b2db3687d86c4a5ef47035.png diff --git a/README.md b/README.md index 049fbd3..1e3e809 100644 --- a/README.md +++ b/README.md @@ -24,9 +24,9 @@ Imagine is a pandoc filter that will turn codeblocks tagged with certain classes into images or ascii art. The following are currently supported: actdiag, asy, asymptote, blockdiag, boxes, circo, ctioga2, ditaa, dot, fdp, - figlet, flydraw, gle, gnuplot, graph, graphviz, gri, imagine, mermaid, mscgen, - neato, nwdiag, octave, packetdiag, pic, pic2plot, plantuml, plot, ploticus, - protocol, pyxplot, rackdiag, seqdiag, sfdp, shebang, twopi + figlet, flydraw, gle, gnuplot, graph, graphviz, gri, imagine, matplotlib, + mermaid, mscgen, neato, nwdiag, octave, packetdiag, pic, pic2plot, plantuml, + plot, ploticus, protocol, pyxplot, rackdiag, seqdiag, sfdp, shebang, twopi ## Examples @@ -103,6 +103,22 @@ classes into images or ascii art. The following are currently supported: xy_chart.render_to_png(sys.argv[-1]) ``` +### [Matplotlib](https://matplotlib.org) using `python3-matplotlib` + +![](https://raw.githubusercontent.com/andros21/imagine/master/pd-images/696609ec52b06244f4b2db3687d86c4a5ef47035.png) + + ```{.matplotlib im_fmt="png" im_out="img,fcb"} + x = np.linspace(-20, 20, 500) + V = np.sin(x)/x + + fig, ax = plt.subplots() + ax.plot(x, V, 'r', label="$sinc(x)$") + + ax.set_xlabel('$x$') + ax.set_ylabel('$y$') + ax.legend() + ``` + ### [boxes](http://boxes.thomasjensen.com) /* _\|/_ @@ -131,9 +147,9 @@ also includes formats other than `png`. actdiag, asy, asymptote, blockdiag, boxes, circo, ctioga2, ditaa, dot, fdp, figlet, flydraw, gle, gnuplot, graph, graphviz, gri, imagine, - mermaid, mscgen, neato, nwdiag, octave, packetdiag, pic, pic2plot, - plantuml, plot, ploticus, protocol, pyxplot, rackdiag, seqdiag, sfdp, - shebang, twopi + matplotlib, mermaid, mscgen, neato, nwdiag, octave, packetdiag, pic, + pic2plot, plantuml, plot, ploticus, protocol, pyxplot, rackdiag, + seqdiag, sfdp, shebang, twopi Installation @@ -545,4 +561,13 @@ SheBang Wraps: - 'shebang' -> shebang +Matplotlib + + sudo apt-get install matplotlib + https://matplotlib.org + + Runs python3 .matplotlib {im_opt} .{im_fmt} + Wraps: + - 'matplotlib' -> python3 + ``` diff --git a/pd-images/696609ec52b06244f4b2db3687d86c4a5ef47035.png b/pd-images/696609ec52b06244f4b2db3687d86c4a5ef47035.png new file mode 100644 index 0000000000000000000000000000000000000000..6471532e70a8786e9d3b6f9324b5dc6cb1c09edc GIT binary patch literal 20620 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 rOkIa3cj%K(Ry>&c_F(~Ur& literal 0 HcmV?d00001