gpt4 book ai didi

python - 在 matplotlib 中迭代添加总数未知的子图

转载 作者:行者123 更新时间:2023-12-01 08:57:23 25 4
gpt4 key购买 nike

我有一组嵌套字典,我正在为其生成子图。我需要读取和过滤字典中的最终答案,然后根据字典树中的变量绘制结果图。在某些情况下,树上的变量是用于分割其他数据集的索引:

for field in data.keys():
if field.startswith('Header'):
for subheading in data.get(field):
for index, answer in data.get(field).get(subheading).get('Directory').items():
if answer=='yes':
axes.plot(index, seconddataset[subheading]...

我想为完整循环的每次迭代生成一个单独的子图,最好排列在单个列中(我对其他列有其他用途)。如果我知道从循环中获得的实例总数,那么我可以使用 plt.subplots(rows, columns)并将每个实例索引为 axes[row,column].plot(...) 。当我尝试 fig.add_subplot方法中,我不断获得以嵌套方式相互重叠的子图 - 子图不会更新其位置以反射(reflect)随着每次循环迭代而增长的数字。

也许这是不好的代码实践,所以我还有一个版本,通过仅计算 'yes' 的数量来获取条目总数。迭代字典时的答案,然后将该数字与 plt.subplots(rows,columns) 一起使用策略同上。为此,我必须编写条件嵌套循环并第二次迭代它(一次获得总数,然后再次绘制子图),但这似乎也效率低下。

最佳答案

有时写下您的问题可以为您提供答案。如果有人有评论或有类似的问题,我会在这里写下我的观点。迭代嵌套字典时,除了计算/收集终端答案之外,我还收集稍后用于绘图的变量,将它们附加到列表中。

for field in data.keys():
if field.startswith('Header'):
for subheading in data.get(field):
for index, answer in data.get(field).get(subheading).get('Directory').items():
if answer=='yes':
subheading_list.append(subheading)
index_list.append(index)

fig,axes = plt.subplots(len(index_list),3)
for i in range (0,len(index_list)):
axes[i,0].plot(index_list[i], seconddataset[subheading_list[i]]...

关于python - 在 matplotlib 中迭代添加总数未知的子图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52708886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com