[英]Axes3D.text() Annotate 3D Scatter Plot
無法使3D文本工作以注釋散點圖點。
嘗試過Axes3D.text,plt.text,但仍然得到'缺少必需的位置參數'。 你如何在循環中注釋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'
更改:ax = fig.add_subplot(111,projection ='3d')
to:ax = fig.gca(projection ='3d')
解決了這個問題。 使用了ax.text。
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.gca(projection='3d')
#Scatter plot
for i in df.index:
df.set_index('to')
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='^')
ax.text(x+0.8,y+0.8,z+0.8, df.at[i,'to'], size=10, zorder=1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.