我在matplotlib图例图中遇到回溯错误,虽然我之前工作过,但相同的代码在其他网站中可用,该网站仍在工作

wb1gzix0  于 2023-03-13  发布在  其他
关注(0)|答案(1)|浏览(110)
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.figure import Figure

xaxis = np.array([2, 4, 6, 10, 11, 15])
yaxis = np.array([1, 4, 5, 8, 14, 10])

#                     figsize = (x, y)
figaround = plt.figure(figsize=(8, 6), facecolor = "m", edgecolor = "c", linewidth = "7")
jb = figaround.add_axes([1,1,1,1])
jb.plot(xaxis, yaxis, "p-k", ms=12, mec="m", mfc="g")

# title
plt.title("Linear Graph", fontsize = 25, color = "k")
plt.xlabel("X-Axis Data", fontsize = 15)
plt.ylabel("Y-Axis Data", fontsize = 15)

# x, y axis limit
plt.ylim(0, 20)
plt.xlim(0, 20)

plt.legend(["Linear Graph"])

plt.show()

在倒数第二行之上,plt.legend(["Linear Graph"])

  • 类型错误:“list”对象不可调用 *

这个错误我在这里得到,代码识别图例属性作为列表和没有字符串显示在图形中,我期待的。
enter image description here
基于相同的代码,我期待的事情已经显示在上面的图片. plt.legend(["Linear Graph"])

xwbd5t1u

xwbd5t1u1#

我无法在Python 3.8.10和matplotlib 3.6.2版本中重现你的错误。
但是,如果使用plt.figure(),则应将线宽作为int参数传递,而不是str

figaround = plt.figure(figsize=(8, 6), facecolor="m", edgecolor="c", linewidth=7)

此外,请检查将[1,1,1,1]传递给add_axes是否确实是为了您的Axes对象从Figure的右上角和spans outside of it开始。
此外,如果仍然出现错误,您可以尝试将图例作为标签添加到图中,如下所示:

jb.plot(xaxis, yaxis, "p-k", ms=12, mec="m", mfc="g", label="Linear Graph")
plt.legend()
plt.show()

相关问题