繁体   English   中英

是否可能使用有序字典或列表绘图,OrderedDict不起作用

[英]Is it possible plot using ordered dictionary or list, OrderedDict doesn't work

我想绘制温度随时间降低。 计算是正确的,我的问题是字典不能按顺序排列。 我可以及时排序清单。 键=时间(1年,5年,10年等),值=温度。 我想按键排序

drawtemperature={}
for i, tau in enumerate(years):
    for well in producers :
        Temperature=[]
            if len(reached) == 0:
                Temperature.append(T0)
            else: 
                 sumQ=well.flow/nbcontours*len(reached)
                 Tm=((well.flow-sumQ)*T0+sumQ*Ti)/well.flow
                 Temperature.append(Tm)   

           drawtemperature[tau]=Temperature

dc=[drawtemperature[k] for k in sorted(drawtemperature)]

for k in dc:
    pylab.plot(drawtemperature.keys(), drawtemperature.values())
pylab.show()

它以错误的方式绘制,因为没有排序字典。 这个数字应该像活塞一样。 我无法发布图片,因为我需要至少10个声望(:

我知道我不能订购字典,我已经从集合中尝试了OrderedDict,但它不起作用。 任何想法?

像这样的东西? 我假设您正在尝试按值对字典进行排序

pylab.plot(*zip(*sorted(dc.items(), key=lambda x:x[1])))

要切换轴,请使用此功能

pylab.plot(*reversed(zip(*sorted(dc.items(), key=lambda x:x[1]))))

要按键排序,只需将key=...保留即可

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM