【发布时间】:2019-05-24 12:56:00
【问题描述】:
无法使用 3D 文本来注释散点图。
尝试过 Axes3D.text、plt.text 但不断收到“缺少所需的位置参数 's”。如何在循环中进行 3D 注释?
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse
import pandas as pd
import numpy as np
df = pd.read_csv (r'J:\Temp\Michael\Python\9785.csv')
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
#Scatter plot
for i in df.index:
x = df.at[i,'x']
y = df.at[i,'y']
z = df.at[i,'h']
ax.scatter(xs=x, ys=y, zs=z, s=20,color='red',marker='^')
label = df.at[i,'to']
Axes3D.text(x+0.8,y+0.8,z+0.8, label, zdir=x)
TypeError: text() 缺少 1 个必需的位置参数:'s'
【问题讨论】:
-
Here是官方文档
-
@Sheldore 谢谢我一直在检查那些并试图正确,但无法让它以某种方式工作......
-
提供您的数据框的一些初始行,以便我们可以运行您的代码
-
问题在于图形类型 - fig.gca() 已修复
标签: python loops matplotlib text 3d