簡體   English   中英

黑條覆蓋了 matplotlib plot 的我的 y 標簽

[英]Black bar covering my y labels for matplotlib plot

我最近開始在一個項目中使用 python,所以我為我的經驗不足提前道歉。 我正在使用數據集 ML1,對於數據集中的每個用戶,我必須計算他表達了多少評分。 然后我必須將它們整理出來並計算各種統計函數。 完成此操作后,我必須創建一個圖表,它顯示在 x= users 軸上,按評級排序,y= 評級數。

get_id_user = lambda col: (line.split('::')[col-1] for line in open('../dataset-movie/ml-1m/users.dat'))
get_id_rating = lambda col: (line.split('::')[col-1] for line in open('../dataset-movie/ml-1m/ratings.dat'))
users_id = list(get_id_user(1))
ratings_id = list(get_id_rating(1))
users_rating_match = {}

for index in users_id:
    users_rating_match[index] = ratings_id.count(index)

sorted_users = {k: v for k, v in sorted(users_rating_match.items(), key=lambda v: v[1], reverse=True)}
x = list(sorted_users.keys())
y = list(sorted_users.values())

plt.plot(x, y)
plt.xlabel('Users sorted by rating')
plt.title('User distribution')
plt.show()

這是我的代碼,簡而言之,我從 file.dat 中讀取了我需要的列。 我將這些值插入到兩個列表中,並將它們與字典相關聯。 然后我訂購字典並使用上述規范構建圖表。 當我顯示圖表時,黑色條覆蓋了 matplotlib plot 的 y 標簽,這肯定是因為值的數量很大。 我試圖將其他帖子的一些解決方案付諸實踐,但沒有成功。 有人可以解釋/告訴我如何解決這個問題嗎? 圖片問題

它不是一個黑條,它是一堆相互疊加的標簽。 使用此 y 軸數組,matplotlib(我假設您正在使用)難以建議沿 y 軸的良好且可讀的刻度數。 我無法從您的代碼中真正看出,但如果數組中的值不完全是數字,則可能會發生這種情況。 查看set_yticks()set_yticklabels()看看是否有幫助。

暫無
暫無

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

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