使用for循环的Python可视化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用for循环的Python可视化相关的知识,希望对你有一定的参考价值。

我有数据帧df1,df2,df3,df4,df5,df6和df7。

我正在尝试使用for循环创建7个子图的散点图。

散点图代码如下所示。对于每次迭代,我都希望将所有df更改为df1,df2,df3,df4,df5,df6和df7。

plt.scatter(np.log10(df.variable), mod1.predict(df), label='Modeled')
plt.scatter(np.log10(df.variable), df[dependent], label='Actual')
plt.title('Actual Frequency vs Modeled')

关于如何编写此for循环的任何建议?

答案

解决方案不应包含exec。在这里,您去:

figure, axes = plt.subplots(1, 8)  # 1 row, 8 cols

for i, df in enumerate([df1, df2, df3, df4, df5, df6, df7]):
    plt.scatter(np.log10(df.variable), mod1.predict(df), label='Modeled', ax=axes[i])
    plt.scatter(np.log10(df.variable), df[dependent], label='Actual', ax=axes[i])

plt.title('Actual Frequency vs Modeled')

我希望这会有所帮助!

另一答案

我希望以下代码段有效。

for i in range(1,8):
    exec("df = df{}".format(i))
    plt.scatter(np.log10(df.variable), mod1.predict(df), label='Modeled')
    plt.scatter(np.log10(df.variable), df[dependent], label='Actual')
    plt.title('Actual Frequency vs Modeled')

更新:

fig = plt.figure()
rows = 4
columns = 2

for i in range(1,8):
    exec("df = df{}".format(i))
    plt.subplot(rows, columns, i)
    plt.scatter(np.log10(df.variable), mod1.predict(df), label='Modeled')
    plt.scatter(np.log10(df.variable), df[dependent], label='Actual')
    plt.title('Actual Frequency vs Modeled')
plt.show()

P.S .:我认为应该可以。我尚未在我的环境中对其进行测试。

以上是关于使用for循环的Python可视化的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 这个简单的代码片段显示了如何使用有符号整数在C中完成插值。 for()循环确定要插入的范围

python中的while循环与for循环怎么样那个比较好用?

如何在Django视图中使用for循环返回每次迭代[关闭]

如何使用引导程序和 for 循环在 django 中创建电影片段?

在 Activity 内部,如何暂停 for 循环以调用片段,然后在按钮单击片段后恢复循环以重新开始

for循环结构