我有一个简单的绘图函数:
def plot_data(dataset="boys", baby_name="David"):
ax = dataset.T.sort_index().loc[:, baby_name].plot(legend = baby_name)
list_of_dict = [{"data": boys, "baby_name": "David",
"data": girls, "baby_name": "Susan",
"data": boys, "baby_name": "Colin",
"data": girls, "baby_name": "Frances"}]
for l in list_of_dict:
ax = plot_data(l['data'], l['baby_name'])
我可以把不同的情节层层叠加
ax = plot_data("boys", "David"])
ax = plot_data("boys", "Susan"])
但是如果我尝试循环遍历列表和图,我只得到一个图,为什么呢?
情节是我想要达到的。
2条答案
按热度按时间ux6nzvsh1#
当前,您在每次调用
plot_data
函数时都要重新定义ax
。要在多次调用plot_data
时保留数据,您需要定义一个顶级ax
,并将其作为另一个参数传递给plot_data
。例如,请参见this answer:vom3gejh2#
我的方法是认识到数据结构只是一个简单的字典列表,正如两个答案所暗示的那样。我只是改变了列表,并为每个字典创建了一个新的字典。简单。