我正面临matplotlib散点图的奇怪行为,其中标签不起作用。请参阅下面的代码段 -
import matplotlib
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
def get_data():
n = 10
theta = np.linspace(-4 * np.pi, 4 * np.pi, n)
z = np.linspace(-2, 2, n)
r = z**2 + 1
x = r * np.sin(theta)
y = r * np.cos(theta)
return x, y, z
x, y, z = get_data()
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot(x, y, z, c='r', marker='o', label='plot label')
ax.scatter(x, y, z+1, c='b', marker='^', label='scatter label')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
ax.legend()
plt.show()
以上代码生成以下图表(请注意缺少与散点图对应的标签) -
令人惊讶的是,如果ax.plot
被评论,我会收到以下错误 -
/usr/lib/pymodules/python2.7/matplotlib/axes.py:4747: UserWarning: No labeled objects found. Use label='...' kwarg on individual plots.
warnings.warn("No labeled objects found. "
以下是有关系统的信息 -
有什么解决方法可以显示散点图的标签吗?
答案 0 :(得分:1)
我试图在我的环境中运行代码,它同时适用于标签显示。 这是我的版本
所以你可能只需要更新matplotlib。