婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python matplotlib繪圖實現(xiàn)刪除重復冗余圖例的操作

python matplotlib繪圖實現(xiàn)刪除重復冗余圖例的操作

熱門標簽:廣東旅游地圖標注 電話機器人貸款詐騙 蘇州人工外呼系統(tǒng)軟件 看懂地圖標注方法 淮安呼叫中心外呼系統(tǒng)如何 打印谷歌地圖標注 京華圖書館地圖標注 佛山通用400電話申請 電話外呼系統(tǒng)招商代理

問題:

由于自己做項目的時候,需要循環(huán)的繪制數(shù)據(jù),假設有100個樣本,每個樣本包含兩個坐標點(A, B),我需要對這兩個點標上不同的顏色,同時還要畫出兩點間的連線。

顯然這個問題中圖例我只需要3個(A點,B點,AB的連線),而不是300個,因為每個樣本的A點都是同樣的顏色,B點也都是一樣的顏色,AB的連線也是。

但是單純的在畫完圖之后用plt.legend(), 它會給你畫出所有300個圖例來,這肯定不是我想要的。

探索過程:

如何解決呢?

當然有一種很強制的方法,就是只在畫第一個樣本,或最后一個樣本時,給其指定label,其它樣本時不給label,就不會畫出來了。

但是我在想有沒有更好地辦法,百度了半天,窮盡所有關鍵詞,無果。

轉(zhuǎn)而谷歌,想著要不把關鍵詞換成英語看看(以前總覺得看英文的博客會比中文的慢很多,總會更偏向于母語閱讀,但是這次經(jīng)歷大概會改變我之后的態(tài)度,相比起為了排除百度的大量無關答案所花的漫長的時間,好像還不如直接搜索英文來得有效率,關鍵詞搜的就是:python omit redundant legend),結果第一條搜索結果就看到了我想要的解決方案,很是驚喜,本著方便自己以后查找,也方便遇到同樣問題的人,故而記錄下來,雖然不是什么多神的東西啦。

解決方案:

from collections import OrderedDict
import matplotlib.pyplot as plt
 
handles, labels = plt.gca().get_legend_handles_labels()
by_label = OrderedDict(zip(labels, handles))
plt.legend(by_label.values(), by_label.keys())

理解:

plt的legend函數(shù)可接收兩個參數(shù),一個是handles列表,一個是label列表。

引入有序字典OrderedDict的目的就是去除冗余的圖例,因為字典的鍵值不能重復(即重復的只保留一個)。

第一行的意思應該是迭代地將當前plt中存的所有handles和labels返回到handles變量和labels變量中,你之前所在畫布上畫的每一步應該都會存在plt中。

所以,上述代碼的作用是:僅保留plt中存在的所有非同名的圖例名稱,不出現(xiàn)重復圖例名稱

補充:Python/matplotlib之清空繪圖

clf() # 清圖

cla() # 清坐標軸

close() # 關窗口

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Python matplotlib可視化繪圖詳解
  • Python繪圖之詳解matplotlib
  • Python繪圖庫Matplotlib的基本用法
  • Python matplotlib實用繪圖技巧匯總
  • python 繪圖模塊matplotlib的使用簡介
  • Python matplotlib繪圖詳解

標簽:湖州 江蘇 衡水 畢節(jié) 股票 呼和浩特 駐馬店 中山

巨人網(wǎng)絡通訊聲明:本文標題《python matplotlib繪圖實現(xiàn)刪除重復冗余圖例的操作》,本文關鍵詞  python,matplotlib,繪圖,實現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python matplotlib繪圖實現(xiàn)刪除重復冗余圖例的操作》相關的同類信息!
  • 本頁收集關于python matplotlib繪圖實現(xiàn)刪除重復冗余圖例的操作的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 贞丰县| 思茅市| 曲麻莱县| 竹北市| 余干县| 祁阳县| 崇信县| 蚌埠市| 伊宁县| 罗城| 原平市| 垦利县| 栾川县| 景洪市| 崇义县| 鄂托克旗| 台北县| 辽阳市| 和平县| 玉溪市| 扎兰屯市| 弥勒县| 濮阳县| 绵阳市| 广丰县| 休宁县| 石泉县| 蛟河市| 宜阳县| 闽侯县| 伊春市| 郁南县| 称多县| 华宁县| 奉节县| 两当县| 儋州市| 会同县| 林州市| 黄浦区| 北碚区|