创建多个图的函数

a function to create multiple plots

我想在 Python 中创建一个函数,这样我只需输入国家名称,它就会创建所有 4 个地块。基本上,一个函数可以替换如下 4 个单个代码:

plt.figure(1)
plotCT(viz1,'Czechia')
plt.figure(2)
plotCT(viz2,'Czechia')
plt.figure(3)
plotCT(viz3,'Czechia')
plt.figure(4)
plotCT(viz4,'Czechia')

你有什么想法吗?谢谢。

你试试把变量 viz1 到 viz4 的值放到一个列表中怎么样,就像这样:values_list = [value_of_viz1, ..., value_of_viz4] 然后每次将值作为参数传递给 plotCT() 函数时遍历列表。

def plot_figures(country, values_list):
    for i in range(len(values_list)):
       plt.figure(i)
       plotCT(values_list[i], country)

plot_figures("Country_Name", [value_of_viz1, ..., value_of_viz4])

您可以定义一个接受 viz 对象列表和字符串国家名称的函数,然后使用 for 循环遍历列表以绘制每个项目:

def generate_figures(country_name, viz_list):

    # Iterates through each viz in viz_list.
    for index, viz in enumerate(viz_list):

       # Plots the given viz element.
       plt.figure(index)
       plotCT(viz, country_name)


generate_figures("Czechia", [viz1, viz2, viz3, viz4])