我需要绘制一个可变数量的图(至少1个,但不知道最大数量),我不能想出一个方法来动态创建和分配子图给给定的图表。
代码如下所示:
check = False
if "node_x_9" in names:
if "node_x_11" in names:
plt.plot(df["node_x_9"], df["node_x_11"])
check = True
elif "node_x_10" in names:
if "node_x_12" in names:
plt.plot(df["node_x_10", "node_x_12"])
check = True
if check:
plt.show()
我想过预先设置一些子情节(eidogg. plt.subplots(3,3)),但我仍然想不出一种方法来分配情节,而不把它们绑定到给定的子情节位置。
我的想法是创建一个2x1的情节,如果我有两个子情节,1x1,如果我有一个,3x1,如果我有3个,等等,不让任何子情节空间空。
1条答案
按热度按时间mrwjdhj31#
我遇到过这样的案例,你想为每个案例生成一个图,但不知道有多少个案例存在,直到你查询当天的数据。
我使用正方形布局作为假设(如果您需要不同的纵横比,请更改以下内容),然后计算您有多少种情况-找到整数平方根,它加上1,将为您提供保证满足您要求的正方形的整数边长。
现在,您可以建立一个具有所需宽度和高度的matplotlib Gridspec对象,通过索引引用它来放置各个图。