簡體   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