python - 使用 matplotlib 绘图时出现错误

标签 python matplotlib python-3.7

我正在尝试使用 matplotlib 和 python 3.7 进行绘图。

这是我的代码:

import matplotlib
fig = matplotlib.pyplot.figure()
rect = fig.patch
rect.set_facecolor("green")
x = [3, 7, 8, 12]
y = [5, 13, 2, 8]
graph1 = fig.add_subplot(1, 1, axisbg="black")
graph1.plot(x, y, "red", linewidth=4.0)
matplotlib.pyplot.show()   

但我不断收到此错误:

File "C:\Users\User\Anaconda3\lib\site-packages\matplotlib\axes\_subplots.py", line 72, in __init__
  raise ValueError('Illegal argument(s) to subplot: %s' % (args,))

ValueError: Illegal argument(s) to subplot: (1, 1)

问题是什么?

最佳答案

问题是 add_subplot三个强制参数,而不是两个。参数为 M =“行数”、N =“列数”和 P =“项目选择”。最后一个(P)是MxN网格中的线性索引,穿过。

此外,axis_bgaxis_bgcolor 参数在 matplotlib 2.0.0 中已弃用,并在 matplotlib 2.2.0 中删除。相反,请使用 facecolor 或简称 fc

你可能想做

graph1 = fig.add_subplot(1, 1, 1, fc="black")

话虽如此,如果您想在图形上创建一组轴,我通常发现使用 plt.subplots 更容易一次性制作图形和轴:

fig, graph1 = plt.subplots(subplot_kw={'facecolor': 'black'}, facecolor='green')

为了方便起见,最常见的是导入 pyplot作为 plt,或者使用

import matplotlib.pyplot as plt

或与

from matplotlib import pyplot as plt

所有这些结合起来,您的代码最终可能如下所示:

from matplotlib import pyplot as plt

fig, graph1 = plt.subplots(subplot_kw={'facecolor': 'black'},
                           facecolor='green')

x = [3, 7, 8, 12]
y = [5, 13, 2, 8]
graph1.plot(x, y, "red", linewidth=4.0)
plt.show()   

关于python - 使用 matplotlib 绘图时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52002733/

相关文章:

python - 如果在分配时将变量添加到集合中,为什么 Python 会分配 None

python - Django:解压参数列表以在聚合查询中使用

python - 避免在 Python 中的文件夹中重复文件名

python - 我可以在不转换相关数据的情况下在 matplotlib 中模拟轴的对数刻度吗?

python - Matplotlib:将字符串添加为自定义 x-ticks,但还保留现有的(数字)刻度标签? matplotlib.pyplot.annotate 的替代品?

matplotlib - matplotlib 中对数极坐标图轴标签的定位

python - Pycharm安装CV2、PIL等库时报pip错误?

python - 检查文件中是否存在值

python-3.7 - 如何修复(pycharm)python 3.7中的 "no module named openpyxl "?

python - Tkinter - 使用循环创建多个复选框