|

Python 3.11.6 (matplotlib 3.7.1) では、下記のような警告があるが、実行できる。
M:\______\artist_reference.py:49: MatplotlibDeprecationWarning:
Passing the radius parameter of __init__() positionally is deprecated
since Matplotlib 3.6; the parameter will become keyword-only two minor
releases later.
polygon = mpatches.RegularPolygon(grid[3], 5, 0.1)
Python 3.12.0 (matplotlib 3.8.1) では、下記のようなエラーがあり、実行できない。
Traceback (most recent call last):
File "E:\______\artist_reference.py", line 49, in
polygon = mpatches.RegularPolygon(grid[3], 5, 0.1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: RegularPolygon.__init__() takes 3 positional arguments but 4 were given
Python 3.11.6 (matplotlib 3.7.1) 及び Python 3.12.0 (matplotlib 3.8.1) で、見直し中、新しいサンプル(
shapes-and-collections-artist-reference-py
) を見つけ、下記のコードで、正常に実行できました。
"""
.. _artist_reference:
================================
Reference for Matplotlib artists
================================
This example displays several of Matplotlib's graphics primitives (artists).
A full list of artists is documented at :ref:`the artist API `.
See also :doc:`/gallery/shapes_and_collections/patch_collection`, which groups
all artists into a single `.PatchCollection` instead.
Copyright (c) 2010, Bartosz Telenczuk
BSD License
"""
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.lines as mlines
import matplotlib.patches as mpatches
import matplotlib.path as mpath
# Prepare the data for the PathPatch below.
Path = mpath.Path
codes, verts = zip(*[
(Path.MOVETO, [0.018, -0.11]),
(Path.CURVE4, [-0.031, -0.051]),
(Path.CURVE4, [-0.115, 0.073]),
(Path.CURVE4, [-0.03, 0.073]),
(Path.LINETO, [-0.011, 0.039]),
(Path.CURVE4, [0.043, 0.121]),
(Path.CURVE4, [0.075, -0.005]),
(Path.CURVE4, [0.035, -0.027]),
(Path.CLOSEPOLY, [0.018, -0.11])])
artists = [
mpatches.Circle((0, 0), 0.1, ec="none"),
mpatches.Rectangle((-0.025, -0.05), 0.05, 0.1, ec="none"),
mpatches.Wedge((0, 0), 0.1, 30, 270, ec="none"),
mpatches.RegularPolygon((0, 0), 5, radius=0.1),
mpatches.Ellipse((0, 0), 0.2, 0.1),
mpatches.Arrow(-0.05, -0.05, 0.1, 0.1, width=0.1),
mpatches.PathPatch(mpath.Path(verts, codes), ec="none"),
mpatches.FancyBboxPatch((-0.025, -0.05), 0.05, 0.1, ec="none",
boxstyle=mpatches.BoxStyle("Round", pad=0.02)),
mlines.Line2D([-0.06, 0.0, 0.1], [0.05, -0.05, 0.05], lw=5),
]
axs = plt.figure(figsize=(6, 6), layout="constrained").subplots(3, 3)
for i, (ax, artist) in enumerate(zip(axs.flat, artists)):
artist.set(color=mpl.colormaps["hsv"](i / len(artists)))
ax.add_artist(artist)
ax.set(title=type(artist).__name__,
aspect=1, xlim=(-.2, .2), ylim=(-.2, .2))
ax.set_axis_off()
plt.show()
# %%
#
# .. admonition:: References
#
# The use of the following functions, methods, classes and modules is shown
# in this example:
#
# - `matplotlib.path`
# - `matplotlib.path.Path`
# - `matplotlib.lines`
# - `matplotlib.lines.Line2D`
# - `matplotlib.patches`
# - `matplotlib.patches.Circle`
# - `matplotlib.patches.Ellipse`
# - `matplotlib.patches.Wedge`
# - `matplotlib.patches.Rectangle`
# - `matplotlib.patches.Arrow`
# - `matplotlib.patches.PathPatch`
# - `matplotlib.patches.FancyBboxPatch`
# - `matplotlib.patches.RegularPolygon`
# - `matplotlib.axes.Axes.add_artist`
Python 3.11.6 (matplotlib 3.7.1) 及び Python 3.12.0 (matplotlib 3.8.1) 共に、正常実行です。

|