Python 如何在matplotlib的不同子地块中重复绘图?

Python 如何在matplotlib的不同子地块中重复绘图?,python,matplotlib,Python,Matplotlib,我有 我想重复一个图,在所有轴上都是p,类似于: fig, (((ax1, ax2), (ax3, ax4))) = plt.subplots(ncols=2, nrows=2, sharex='col', sharey='row',

我有

我想重复一个图,在所有轴上都是p,类似于:

fig, (((ax1, ax2), (ax3, ax4))) = plt.subplots(ncols=2, nrows=2, 
                                               sharex='col', 
                                               sharey='row', 
                                               figsize=(12, 12))

不必为每个绘图重复该行。有什么方法可以做到这一点吗?

这是一种使用列表理解方法而不必显式编写四个单独的绘图命令的方法。我使用一个数据帧作为p来与您的问题保持一致。您可以尝试用p变量替换df

P.plot(ax = [ax1, ax2, ax3, ax4], facecolor = "none",
       edgecolor = "black")

这是一种使用列表理解方法实现此目的的方法,无需显式编写四个单独的绘图命令。我使用一个数据帧作为p来与您的问题保持一致。您可以尝试用p变量替换df

P.plot(ax = [ax1, ax2, ax3, ax4], facecolor = "none",
       edgecolor = "black")
有些人喜欢在python中使用map而不是for。所以我想如果目标是替换一些规范循环,比如

import pandas as pd
import matplotlib.pyplot as plt

fig, (((ax1, ax2), (ax3, ax4))) = plt.subplots(ncols=2, nrows=2, 
                                               sharex='col', 
                                               sharey='row', 
                                               figsize=(8, 8))

df = pd.DataFrame({"x": [1, 2, 3, 4],
                   "y" : [1, 4, 9, 16]})

_ = [df.plot(x="x", y="y", ax=ax) for ax in [ax1, ax2, ax3, ax4]]
plt.show()
你可以

for ax in [ax1, ax2, ax3, ax4]:
    geodf.plot(ax=ax)
有些人喜欢在python中使用map而不是for。所以我想如果目标是替换一些规范循环,比如

import pandas as pd
import matplotlib.pyplot as plt

fig, (((ax1, ax2), (ax3, ax4))) = plt.subplots(ncols=2, nrows=2, 
                                               sharex='col', 
                                               sharey='row', 
                                               figsize=(8, 8))

df = pd.DataFrame({"x": [1, 2, 3, 4],
                   "y" : [1, 4, 9, 16]})

_ = [df.plot(x="x", y="y", ax=ax) for ax in [ax1, ax2, ax3, ax4]]
plt.show()
你可以

for ax in [ax1, ax2, ax3, ax4]:
    geodf.plot(ax=ax)

什么是P?是否正在寻找允许给定命令的对象P?是否有任何原因不能使用for循环?对于[ax1,ax2,ax3,ax4]中的ax:ax.plot…@ImportanceOfBeingErnest:这是一个带有plot方法的geopandas GeoDataFrame。@DizietAsahi:没有理由。我想知道是否有一种pythonic方法可以通过所有轴,而不必在轴上迭代。谢谢什么是P?是否正在寻找允许给定命令的对象P?是否有任何原因不能使用for循环?对于[ax1,ax2,ax3,ax4]中的ax:ax.plot…@ImportanceOfBeingErnest:这是一个带有plot方法的geopandas GeoDataFrame。@DizietAsahi:没有理由。我想知道是否有一种pythonic方法可以通过所有轴,而不必在轴上迭代。谢谢这里是我对lambda表达式+1的向上投票这里是我对lambda表达式+1的向上投票