Open
Description
Bug summary
First time using this Axes3D, don't know how to solve this Issue
Code for reproduction
fig = plt.figure(figsize=(10, 10))
ax = Axes3D(fig)
ax = plt.subplot(111, projection='3d')
# ax.scatter(tsne3D_normal[:, 0], tsne3D_normal[:, 1], tsne3D_normal[:, 2], 1, color='red', label='normal ')
# # tsne_normal[i, 0]为横坐标,X_norm[i, 1]为纵坐标,1为散点图的面积, color给每个类别设定颜色
# ax.scatter(tsne3D_fault_1[:, 0], tsne3D_fault_1[:, 1], tsne3D_fault_1[:, 2], 1, color='green', label='fault_1-下挡销横向干涉')
# ax.scatter(tsne3D_fault_2[:, 0], tsne3D_fault_2[:, 1], tsne3D_fault_2[:, 2], 1, color='blue', label='fault_2-下挡销纵向干涉')
# ax.scatter(tsne3D_fault_3[:, 0], tsne3D_fault_3[:, 1], tsne3D_fault_3[:, 2], 1, color='yellow', label='fault_3-压轮过压')
# ax.scatter(tsne3D_fault_4[:, 0], tsne3D_fault_4[:, 1], tsne3D_fault_4[:, 2], 1, color='black', label='fault_4-缓冲头磨损')
# ax.scatter(tsne3D_fault_5[:, 0], tsne3D_fault_5[:, 1], tsne3D_fault_5[:, 2], 1, color='purple', label='fault_5-V型尺寸异常')
# ax.scatter(tsne3D_fault_6[:, 0], tsne3D_fault_6[:, 1], tsne3D_fault_6[:, 2], 1, color='orange', label='fault_6-上滑道异常')
ax.title('t-SNE')
# plt.legend(loc='upper left')
ax.legend()
plt.show()
# plt.savefig('ModelVisual.png', dpi=300)
Actual outcome
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
[d:\WorkStation\Bigdatadevelop\pythondev\TrainDoor\tapnet-master\tapnet-master\model_res\T-sne.ipynb](file:///D:/WorkStation/Bigdatadevelop/pythondev/TrainDoor/tapnet-master/tapnet-master/model_res/T-sne.ipynb) Cell 12 line 4
[2](vscode-notebook-cell:/d%3A/WorkStation/Bigdatadevelop/pythondev/TrainDoor/tapnet-master/tapnet-master/model_res/T-sne.ipynb#X13sZmlsZQ%3D%3D?line=1) ax = plt.subplot(111, projection='3d')
[3](vscode-notebook-cell:/d%3A/WorkStation/Bigdatadevelop/pythondev/TrainDoor/tapnet-master/tapnet-master/model_res/T-sne.ipynb#X13sZmlsZQ%3D%3D?line=2) # ax.scatter(tsne3D_norm[:, 0], tsne3D_norm[:, 1], tsne3D_norm[:, 2], 1, c=labels,cmap = plt.cm.Spectral)
----> [4](vscode-notebook-cell:/d%3A/WorkStation/Bigdatadevelop/pythondev/TrainDoor/tapnet-master/tapnet-master/model_res/T-sne.ipynb#X13sZmlsZQ%3D%3D?line=3) ax.scatter(tsne3D_normal[:, 0], tsne3D_normal[:, 1], tsne3D_normal[:, 2], 1, color='red', label='normal ')
[5](vscode-notebook-cell:/d%3A/WorkStation/Bigdatadevelop/pythondev/TrainDoor/tapnet-master/tapnet-master/model_res/T-sne.ipynb#X13sZmlsZQ%3D%3D?line=4) # # tsne_normal[i, 0]为横坐标,X_norm[i, 1]为纵坐标,1为散点图的面积, color给每个类别设定颜色
[6](vscode-notebook-cell:/d%3A/WorkStation/Bigdatadevelop/pythondev/TrainDoor/tapnet-master/tapnet-master/model_res/T-sne.ipynb#X13sZmlsZQ%3D%3D?line=5) # ax.scatter(tsne3D_fault_1[:, 0], tsne3D_fault_1[:, 1], tsne3D_fault_1[:, 2], 1, color='green', label='fault_1-下挡销横向干涉')
[7](vscode-notebook-cell:/d%3A/WorkStation/Bigdatadevelop/pythondev/TrainDoor/tapnet-master/tapnet-master/model_res/T-sne.ipynb#X13sZmlsZQ%3D%3D?line=6) # ax.scatter(tsne3D_fault_2[:, 0], tsne3D_fault_2[:, 1], tsne3D_fault_2[:, 2], 1, color='blue', label='fault_2-下挡销纵向干涉')
(...)
[10](vscode-notebook-cell:/d%3A/WorkStation/Bigdatadevelop/pythondev/TrainDoor/tapnet-master/tapnet-master/model_res/T-sne.ipynb#X13sZmlsZQ%3D%3D?line=9) # ax.scatter(tsne3D_fault_5[:, 0], tsne3D_fault_5[:, 1], tsne3D_fault_5[:, 2], 1, color='purple', label='fault_5-V型尺寸异常')
[11](vscode-notebook-cell:/d%3A/WorkStation/Bigdatadevelop/pythondev/TrainDoor/tapnet-master/tapnet-master/model_res/T-sne.ipynb#X13sZmlsZQ%3D%3D?line=10) # ax.scatter(tsne3D_fault_6[:, 0], tsne3D_fault_6[:, 1], tsne3D_fault_6[:, 2], 1, color='orange', label='fault_6-上滑道异常')
[12](vscode-notebook-cell:/d%3A/WorkStation/Bigdatadevelop/pythondev/TrainDoor/tapnet-master/tapnet-master/model_res/T-sne.ipynb#X13sZmlsZQ%3D%3D?line=11) ax.title('t-SNE')
File [f:\Miniconda3\envs\modeldev\lib\site-packages\matplotlib\__init__.py:1412](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/__init__.py:1412), in _preprocess_data.<locals>.inner(ax, data, *args, **kwargs)
[1409](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/__init__.py:1409) @functools.wraps(func)
[1410](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/__init__.py:1410) def inner(ax, *args, data=None, **kwargs):
[1411](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/__init__.py:1411) if data is None:
-> [1412](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/__init__.py:1412) return func(ax, *map(sanitize_sequence, args), **kwargs)
[1414](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/__init__.py:1414) bound = new_sig.bind(ax, *args, **kwargs)
[1415](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/__init__.py:1415) auto_label = (bound.arguments.get(label_namer)
[1416](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/__init__.py:1416) or bound.kwargs.get(label_namer))
File [f:\Miniconda3\envs\modeldev\lib\site-packages\mpl_toolkits\mplot3d\axes3d.py:2390](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/mpl_toolkits/mplot3d/axes3d.py:2390), in Axes3D.scatter(self, xs, ys, zs, zdir, s, c, depthshade, *args, **kwargs)
[2387](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/mpl_toolkits/mplot3d/axes3d.py:2387) zs = zs.copy()
...
--> [910](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/mpl_toolkits/mplot3d/art3d.py:910) elif zdir[0] == '-':
[911](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/mpl_toolkits/mplot3d/art3d.py:911) return rotate_axes(xs, ys, zs, zdir)
[912](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/mpl_toolkits/mplot3d/art3d.py:912) else:
TypeError: 'int' object is not subscriptable
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
File [f:\Miniconda3\envs\modeldev\lib\site-packages\IPython\core\formatters.py:340](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/IPython/core/formatters.py:340), in BaseFormatter.__call__(self, obj)
[338](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/IPython/core/formatters.py:338) pass
[339](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/IPython/core/formatters.py:339) else:
--> [340](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/IPython/core/formatters.py:340) return printer(obj)
[341](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/IPython/core/formatters.py:341) # Finally look for special method names
[342](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/IPython/core/formatters.py:342) method = get_real_method(obj, self.print_method)
File [f:\Miniconda3\envs\modeldev\lib\site-packages\IPython\core\pylabtools.py:152](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/IPython/core/pylabtools.py:152), in print_figure(fig, fmt, bbox_inches, base64, **kwargs)
[149](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/IPython/core/pylabtools.py:149) from matplotlib.backend_bases import FigureCanvasBase
[150](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/IPython/core/pylabtools.py:150) FigureCanvasBase(fig)
--> [152](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/IPython/core/pylabtools.py:152) fig.canvas.print_figure(bytes_io, **kw)
[153](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/IPython/core/pylabtools.py:153) data = bytes_io.getvalue()
[154](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/IPython/core/pylabtools.py:154) if fmt == 'svg':
File [f:\Miniconda3\envs\modeldev\lib\site-packages\matplotlib\backend_bases.py:2295](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/backend_bases.py:2295), in FigureCanvasBase.print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, bbox_inches, pad_inches, bbox_extra_artists, backend, **kwargs)
[2289](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/backend_bases.py:2289) renderer = _get_renderer(
[2290](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/backend_bases.py:2290) self.figure,
[2291](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/backend_bases.py:2291) functools.partial(
[2292](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/backend_bases.py:2292) print_method, orientation=orientation)
[2293](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/backend_bases.py:2293) )
[2294](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/backend_bases.py:2294) with getattr(renderer, "_draw_disabled", nullcontext)():
-> [2295](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/backend_bases.py:2295) self.figure.draw(renderer)
[2297](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/matplotlib/backend_bases.py:2297) if bbox_inches:
...
[602](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/mpl_toolkits/mplot3d/art3d.py:602) # Sort the points based on z coordinates
[603](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/mpl_toolkits/mplot3d/art3d.py:603) # Performance optimization: Create a sorted index array and reorder
[604](file:///F:/Miniconda3/envs/modeldev/lib/site-packages/mpl_toolkits/mplot3d/art3d.py:604) # points and point properties according to the index array
AttributeError: 'Path3DCollection' object has no attribute '_offsets3d'
Expected outcome
3D image
Additional information
No response
Operating system
Windows
Matplotlib Version
3.8.2
Matplotlib Backend
module://matplotlib_inline.backend_inline
Python version
3.9.18
Jupyter version
6.5.6
Installation
conda