在 matplotlib 中使用 subplot_kw 在子图中创建极坐标投影

Jas*_*son 1 python matplotlib python-3.x

我正在尝试使用创建一个极坐标投影,matplotlib.pyplot.subplots()但是projection is not defined当我尝试将字典传递给时出现错误matplotlib.pyplot.subplots()

我的代码:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(nrows=1, ncols=2, subplot_kw={projection:'polar'})
Run Code Online (Sandbox Code Playgroud)

但是plt.subplot(1,1,1, projection='polar')按预期工作。文档plt.subplots()说 insubplot_kw将传递给add.subplot()将投影作为可选参数的字典,所以我不确定我的错误是什么。

rog*_*osh 5

您链接的文档实际上并未显示subplot_kw以这种方式使用。他们展示的是什么dict()

fig, axes = plt.subplots(2, 2, subplot_kw=dict(polar=True))
Run Code Online (Sandbox Code Playgroud)

如果打印 的输出subplot_kw=dict(polar=True),您将得到:

{'polar': True}
Run Code Online (Sandbox Code Playgroud)

请注意,polar现在已成为一个字符串。subplot_kw={projection:'polar'})没有定义projection为字符串,它只是 Python 现在必须查找的变量名(在这种情况下它不会找到它,但在其他情况下它可能会找到其他东西)。