by Anonymous » 04 Mar 2025, 09:30
Ich möchte einen Patch in Matplotlib zeichnen, der durch Aushöhlung mit einem anderen Patch ausgestattet ist, so dass der ausgehöhlte Teil vollständig transparent ist. Ich könnte Folgendes machen: < /p>
Code: Select all
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse
ellipse_1 = Ellipse((0,0), 4, 3, color='blue')
ellipse_2 = Ellipse((0.5,0.25), 2, 1, angle=30, color='white')
ax = plt.axes()
ax.add_artist(ellipse_1)
ax.add_artist(ellipse_2)
plt.axis('equal')
plt.axis((-3,3,-3,3))
plt.show()
, wenn ich jetzt etwas hinter dem ausgehöhlten Teil des ausgehöhlten Teils zu zeichnen wollte:
Code: Select all
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse, Rectangle
ellipse_1 = Ellipse((0,0), 4, 3, color='blue')
ellipse_2 = Ellipse((0.5,0.25), 2, 1, angle=30, color='white')
rectangle = Rectangle((-2.5,-2), 5, 2, color='red')
ax = plt.axes()
ax.add_artist(rectangle)
ax.add_artist(ellipse_1)
ax.add_artist(ellipse_2)
plt.axis('equal')
plt.axis((-3,3,-3,3))
plt.show()
, wobei der Teil des roten Rechtecks in der blauen Form nicht ersichtlich ist. Gibt es eine einfache Möglichkeit, dies zu tun?
Eine andere Möglichkeit, dies zu lösen
Code: Select all
ellipse_1.set_anticlip_path(ellipse_2)
würde den Trick machen, aber ich konnte so etwas nicht finden.
[url=viewtopic.php?t=14917]Ich möchte[/url] einen Patch in Matplotlib zeichnen, der durch Aushöhlung mit einem anderen Patch ausgestattet ist, so dass der ausgehöhlte Teil vollständig transparent ist. Ich könnte Folgendes machen: < /p>
[code]import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse
ellipse_1 = Ellipse((0,0), 4, 3, color='blue')
ellipse_2 = Ellipse((0.5,0.25), 2, 1, angle=30, color='white')
ax = plt.axes()
ax.add_artist(ellipse_1)
ax.add_artist(ellipse_2)
plt.axis('equal')
plt.axis((-3,3,-3,3))
plt.show()
[/code]
, wenn ich jetzt etwas hinter dem ausgehöhlten Teil des ausgehöhlten Teils zu zeichnen wollte:[code]import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse, Rectangle
ellipse_1 = Ellipse((0,0), 4, 3, color='blue')
ellipse_2 = Ellipse((0.5,0.25), 2, 1, angle=30, color='white')
rectangle = Rectangle((-2.5,-2), 5, 2, color='red')
ax = plt.axes()
ax.add_artist(rectangle)
ax.add_artist(ellipse_1)
ax.add_artist(ellipse_2)
plt.axis('equal')
plt.axis((-3,3,-3,3))
plt.show()
[/code]
, wobei der Teil des roten Rechtecks in der blauen Form nicht ersichtlich ist. Gibt es eine einfache Möglichkeit, dies zu tun?
Eine andere Möglichkeit, dies zu lösen[code]ellipse_1.set_anticlip_path(ellipse_2)
[/code]
würde den Trick machen, aber ich konnte so etwas nicht finden.