You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
matplotlib seems to be inserting a vertex at (0,0) into the data set.
Is there a different way to plot stacked xy-plots that avoids this bug?
Maybe the fix is fairly simple, if all that is happening is that an additional vertex is getting inserted?
The following example is based on the poly3d_demo script linked above. If we change the data set so that the data doesn't include a point at x=0, for example change line 12 from,
xs = np.arange(0, 10, 0.4)
to,
xs = np.arange(5, 10, 0.4)
A erroneous line is drawn from the data set to the (0,0) point.
The following script produces the result(s) below, using matplotlib 1.3.0.
Example 1
When the x-axis is changed to only include the range of the data set the result look even worse,
Example 2
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.collections import PolyCollection
from matplotlib.colors import colorConverter
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.gca(projection='3d')
cc = lambda arg: colorConverter.to_rgba(arg, alpha=0.6)
xs = np.arange(5, 10, 0.4) # The data x-range has been changed to run between 5--10
verts = []
zs = [0.0, 1.0, 2.0, 3.0]
for z in zs:
ys = np.random.rand(len(xs))
ys[0], ys[-1] = 0, 0
verts.append(list(zip(xs, ys)))
poly = PolyCollection(verts, facecolors = [cc('r'), cc('g'), cc('b'),
cc('y')])
poly.set_alpha(0.7)
ax.add_collection3d(poly, zs=zs, zdir='y')
ax.set_xlabel('X')
ax.set_xlim3d(5, 10) # This has been changed to 5 to adjust the axis range to the data
ax.set_ylabel('Y')
ax.set_ylim3d(-1, 4)
ax.set_zlabel('Z')
ax.set_zlim3d(0, 1)
plt.show()
The text was updated successfully, but these errors were encountered:
This a a bug related to stacked xy-plots example,
http://matplotlib.org/examples/mplot3d/polys3d_demo.html
matplotlib seems to be inserting a vertex at (0,0) into the data set.
The following example is based on the
poly3d_demo
script linked above. If we change the data set so that the data doesn't include a point at x=0, for example change line 12 from,to,
A erroneous line is drawn from the data set to the (0,0) point.
The following script produces the result(s) below, using matplotlib 1.3.0.
Example 1
When the x-axis is changed to only include the range of the data set the result look even worse,
Example 2
The text was updated successfully, but these errors were encountered: