【发布时间】:2021-09-27 10:59:08
【问题描述】:
我有一个 3 列 16 行的表格。我想创建一个 3D 绘图以将每一行可视化为绘图上的标记。为此,我使用第一列作为 X,第二列作为 Y,第三列作为 Z。 数据看起来像这样:
>>> print(data.head())
Penicilin Streptomycin Neomycin Gram Staining
Bacteria
Aerobacter aerogenes 870.0 1.0 1.60 negative
Brucella abortus 1.0 2.0 0.02 negative
Escherichia coli 100.0 0.4 0.10 negative
Klebsiella pneumoniae 850.0 1.2 1.00 negative
Mycobacterium tuberculosis 800.0 5.0 2.00 negative
我用这段代码来绘制数据:
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.scatter(X, Y, Z, label=data.index.values, marker='o' )
ax.set_xlabel('Penicilin')
ax.set_ylabel('Streptomycin')
ax.set_zlabel('Neomycin')
ax.legend()
plt.show()
问题:
我希望图中的每个点都可以与其他点区分开来,以便用户可以了解每个点是哪种细菌。
如何为每一行数据框设置不同的标记,甚至为它设置不同的颜色?传说也不清楚。
【问题讨论】:
标签: python pandas dataframe matplotlib mplot3d