Hi,

I'm trying to plot an arc in a 3d plot using patches.Arc and

art3d.pathpatch_2d_to_3d. However, although the arc is correctly shown

from theta1 to theta2 in a 2d plot, the 3d plot always shows the full

circle. Here is a minimal example:

from matplotlib import pyplot as plt

from matplotlib import patches

from mpl_toolkits.mplot3d import art3d

fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')

p = patches.Arc((0, 0), 0.5, 0.5, angle=0., theta1=0., theta2=45.)

ax.add_patch(p)

art3d.pathpatch_2d_to_3d(p, z=0, zdir="y")

plt.show()

I get a whole circle but want to have an arc only from 0 degrees to 45

degrees. A corresponding 2d plot shows the arc correctly:

fig = plt.figure()

ax = fig.add_subplot(111)

p = patches.Arc((0, 0), 0.5, 0.5, angle=0., theta1=0., theta2=45.)

ax.add_patch(p)

plt.show()

What am I doing wrong with the conversion from 2d to 3d?

I tried Python 3.7.3 with Matplotlib 3.0.2 and Python 2.7.16 with

Matplotlib 2.2.3 (which are shipped with my Linux distribution).

Thanks in advance for your help.

Andreas

_______________________________________________

Matplotlib-users mailing list

[hidden email]
https://mail.python.org/mailman/listinfo/matplotlib-users