I’m translating an example i found on the web.
the part I can’t figure out is this
plt.gca().add_patch(circle)
there is a top level method in PyPlot, but that won’t work, because add_patch is clearly a method as plt.gca() should return the current graphic context.
so then I figured the usual trick might work, i.e.
matplotlib[:gca]
but that doesn’t work either, because the gca key doesn’t exist.
any ideas on how I might do this ?
thank you !
here’s the code so far - ignore gca[:add_patch]- that doesn’t work
xlim(0.0, 0.005)
ylim(0.0, 0.005)
grid()
circle = matplotlib[:patches][:Circle]((0.001, 0.001), radius = 0.001, facecolor="b")
gca[:add_patch](circle)
show()
aha!
I was looking at an outdated example. I went to the matplotlib docs and was able to create some code that worked !
for reference here’s the page:
https://matplotlib.org/gallery/api/patch_collection.html#sphx-glr-gallery-api-patch-collection-py
using PyPlot
fig, ax = subplots()
xlim(0.0, 0.005)
ylim(0.0, 0.005)
grid()
circle1 = matplotlib[:patches][:Circle]((0.001, 0.001), radius = 0.001, facecolor="b")
circle2 = matplotlib[:patches][:Circle]((0.003, 0.003), radius = 0.001, facecolor="r")
p = matplotlib[:collections][:PatchCollection]([circle1, circle2])
ax[:add_collection](p)
show()
just a couple of problems.
the second circle color is still blue. i think this may be a problem with the use of collections. it looks like maybe I need to perform a separate operation to set colors.
also I get the following warning when i run the code:
┌ Warning: The start/next/done iteration protocol is deprecated. Implement `iterate(::PyCall.PyDict{Symbol,PyCall.PyObject,true})`.
│ caller = ip:0x0
└ @ Core :-1
I’m running 0.7, not 1.0, maybe it’s a 0.7 thing ?
Youre correct - the warning is a deprecation warning for moving from 0.6 to 1.0 (that’s what the 0.7 release is for), I’m guessing for PyPlot. From what I can tell, it hasn’t been updated to support 1.0 yet, though there’s a bunch of activity on the front.