Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用带有matplotlib.pyplot.SubPlot的pcolormesh生成0轴_Python_Matplotlib - Fatal编程技术网

Python 使用带有matplotlib.pyplot.SubPlot的pcolormesh生成0轴

Python 使用带有matplotlib.pyplot.SubPlot的pcolormesh生成0轴,python,matplotlib,Python,Matplotlib,我以前只使用plt.pcolormesh()在图形中制作一个面板,但我想添加多个轴。所以,我试着用1个轴开始。奇怪的是它不起作用 我的代码是: fig, ax = plt.subplots() ax.pcolormesh(lat_2d[s:e+1,],bin_alt[s:e+1,]/1000,vel_cmb[s:e+1,],shading='gouraud',cmap=cmap,norm=norm) plt.show() 它生成了一个0轴的图形大小为432x288的错误 但是,当我使用:

我以前只使用plt.pcolormesh()在图形中制作一个面板,但我想添加多个轴。所以,我试着用1个轴开始。奇怪的是它不起作用

我的代码是:

fig, ax = plt.subplots()
ax.pcolormesh(lat_2d[s:e+1,],bin_alt[s:e+1,]/1000,vel_cmb[s:e+1,],shading='gouraud',cmap=cmap,norm=norm)  
plt.show()
它生成了一个0轴的图形大小为432x288的错误

但是,当我使用:

fig, ax = plt.subplots()
plt.pcolormesh(lat_2d[s:e+1,],bin_alt[s:e+1,]/1000,vel_cmb[s:e+1,],shading='gouraud',cmap=cmap,norm=norm)  
plt.show()
它显示了我想要看到的图像

有人能帮我解释或解决这个问题吗


谢谢大家!

我尝试了另一种方法,没有使用plt.subplot,而是使用了plt.add_subplot,并且没有使用plt.show(),它现在似乎可以工作了。我不知道它为什么会工作。希望它能继续工作。请给我你可能想到的任何暗示。谢谢。你的错误是不可复制的。您可以添加导入plt的方式吗?并添加完整的错误跟踪?您正在使用哪个后端?我使用“导入matplotlib.pyplot作为plt”来导入plt。这确实很奇怪。因为我记得它以前起过作用。plt.add_subplot()现在仍然有效,我添加了第二个轴。我不知道如何进行“完整错误跟踪”。我也不明白。你能为初学者的概念提供一些参考吗?谢谢。要了解发生了什么,运行代码的环境可能很重要(Jupyter、kivy、PyCharm中的交互式窗口,…)。此外,matplotlib允许设置或使用环境的默认后端。为了更好地理解错误,添加完整错误输出的副本非常重要,有关更多信息,请参见例如。请不要在评论中回答问题,我使用Jupyter。谢谢你提供的信息。将尽力记住环境和后端,并在过程中跟踪错误问题。虽然我无法理解发生了什么,但我确实对fig.add_subplot()与plt.subplot()进行了另一次尝试,这涉及轴的多行和多列。我的一些轴有一个颜色条。当使用fig=plt.figure()和fig.add_subplot()时,它会按预期工作。但是当使用plt.subplot()时,它并没有像预期的那样工作。