簡體   English   中英

以xy樣式創建直方圖數據的對數圖-Python Matplotlib

[英]Create loglog plot of histogram data in xy style - python matplotlib

我有一個值列表(整數),我想在圖表上顯示每個值出現多少次。 在這里搜索之后,我從列表中創建了一個值和相應頻率的字典,這似乎是最好的方法

我想將數據繪制在xy loglog圖(帶有連接線)上,而不是使用條形圖。

使用時,圖形上的數據點按預期顯示

plot.loglog(degree_frequencies.keys(),degree_frequencies.values()) 

但是,由於圖形上的線將第一個鍵值“坐標”連接到第二個,第二個到第三個等等,並且是無序的,因此創建了一條在整個位置上跳躍的線,而不是從左到右。

這是一個示例數據集-其中第一對“坐標”對具有比第二對更高的x值

degree_frequencies  = {8: 1, 2: 6, 3: 1, 5: 2, 6: 2} 

(如果將字典重新排列為{2:6,3:1、5:2、6:2、8:1},則該行看起來會很好)

有人可以建議最好的方法嗎? 我想知道我是否首先需要對列表進行不同處理,或者實際上是否真的有一種方法可以使用matplotlib繪制此類數據。

我是一個相對缺乏經驗的Python用戶,但是我花了一些時間在互聯網和文檔(我覺得很辛苦)上拖網而找不到答案。 容易理解/實施(在我的情況下)可能比優雅但復雜的解決方案(如果有)更有用。

謝謝

x = sorted( degree_frequencies.keys( ) )
y = [ degree_frequencies[ k ] for k in x ]
plt.loglog( x, y )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM