亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Python matplotlib畫圖時圖例說明(legend)放到圖像外側詳解

瀏覽:23日期:2022-07-25 13:19:46

用python的matplotlib畫圖時,往往需要加圖例說明。如果不設置任何參數,默認是加到圖像的內側的最佳位置。

import matplotlib.pyplot as pltimport numpy as np x = np.arange(10) fig = plt.figure()ax = plt.subplot(111) for i in xrange(5): ax.plot(x, i * x, label=’$y = %ix$’ % i) plt.legend() plt.show()

這樣的結果如圖所示:

Python matplotlib畫圖時圖例說明(legend)放到圖像外側詳解

如果需要將該legend移到圖像外側,有多種方法,這里介紹一種。

在plt.legend()函數中加入若干參數:

plt.legend(bbox_to_anchor=(num1, num2), loc=num3, borderaxespad=num4)

bbox_to_anchor(num1,num2)表示legend的位置和圖像的位置關系,num1表示水平位置,num2表示垂直位置。num1=0表示legend位于圖像的左側垂直線(這里的其它參數設置:num2=0,num3=3,num4=0)。

Python matplotlib畫圖時圖例說明(legend)放到圖像外側詳解

num1=1表示legend位于圖像的右側垂直線(其它參數設置:num2=0,num3=3,num4=0)。

Python matplotlib畫圖時圖例說明(legend)放到圖像外側詳解

為了美觀,需要將legend放于圖像的外側,而又距離不是太大,一般設num1=1.05。

num2=0表示legend位于圖像下側水平線(其它參數設置:num1=1.05,num3=3,num4=0)。

Python matplotlib畫圖時圖例說明(legend)放到圖像外側詳解

num2=1表示legend位于圖像上側水平線(其它參數設置:num1=1.05,num3=3,num4=0)。

Python matplotlib畫圖時圖例說明(legend)放到圖像外側詳解

所以,如果希望legend位于圖像的右下,需要將num2設為0,位于圖像的右上,需要將num2設為1。

由于legend是一個方框,bbox_to_anchor=(num1, num2)相當于表示一個點,那么legend的哪個位置位于這個點上呢。參數num3就用以表示哪個位置位于該點。

loc參數對應 Location String Location Code ’best’ 0 ’upper right’ 1 ’upper left’ 2 ’lower left’ 3 ’lower right’ 4 ’right’ 5 ’center left’ 6 ’center right’ 7 ’lower center’ 8 ’upper center’ 9 ’center’ 10

所以,當設bbox_to_anchor=(1.05,0),即legend放于圖像右下角時,為美觀起見,需要將legend的左下角,即’lower left’放置該點,對應該表的‘Location Code’數字為3,即參數num3置為3或直接設為‘lower left’;而當設bbox_to_anchor=(1.05,1),即legend放于圖像右上角時,為美觀起見,需要將legend的左上角,即’upper left’放置該點,對應該表的‘Location Code’數字為2,即參數num3置為2或直接設為‘upper left’。

根據參考網址上的解釋,參數num4表示軸和legend之間的填充,以字體大小距離測量,默認值為None,但實際操作中,如果不加該參數,效果是有一定的填充,下面有例圖展示,我這里設為0,即取消填充,具體看個人選擇。

這是將legend放于圖像右下的完整代碼:

import matplotlib.pyplot as pltimport numpy as np x = np.arange(10) fig = plt.figure()ax = plt.subplot(111) for i in xrange(5): ax.plot(x, i * x, label=’$y = %ix$’ % i) plt.legend(bbox_to_anchor=(1.05, 0), loc=3, borderaxespad=0) plt.show()

效果展示:

Python matplotlib畫圖時圖例說明(legend)放到圖像外側詳解

這里legend的‘lower left’置于(1.05, 0)的位置。

如果不加入參數num4,那么效果為:

Python matplotlib畫圖時圖例說明(legend)放到圖像外側詳解

legend稍靠上,有一定的填充。

這是將legend放于圖像右上的完整代碼:

import matplotlib.pyplot as pltimport numpy as np x = np.arange(10) fig = plt.figure()ax = plt.subplot(111) for i in xrange(5): ax.plot(x, i * x, label=’$y = %ix$’ % i) plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0) plt.show()

效果展示:

Python matplotlib畫圖時圖例說明(legend)放到圖像外側詳解

這里legend的‘upper left’置于(1.05, 0)的位置。

如果不加入參數num4,那么效果為:

Python matplotlib畫圖時圖例說明(legend)放到圖像外側詳解

legend稍靠下。

以上這篇Python matplotlib畫圖時圖例說明(legend)放到圖像外側詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产美女无遮挡免费视频 | 日本一二区免费 | 亚洲国产高清视频 | 亚洲精品一区二区三区四区手机版 | 亚洲国内精品久久 | 亚洲精品色综合久久 | 成人黄网18免费观看的网站 | 免费色片 | 日本亚洲一区二区三区 | 久久久国产这里有的是精品 | 麻豆视频在线播放 | 久久精品亚洲精品国产欧美 | 丝袜美腿在线观看 | 大学生一级一片第一次欧美 | 看色网站 | 亚洲图区综合 | 免费特黄 | 特级黄国产片一级视频播放 | 欧美激情大尺度做爰叫床声 | 综合免费一区二区三区 | 日韩在线视频不卡 | 小明精品国产一区二区三区 | 韩国特黄色免费 | 国产午夜成人无码免费看 | 久久精品亚洲热综合一本奇米 | 日韩欧美在线综合网 | 国产精品久久二区三区色裕 | 网友自拍区一区二区三区 | 免费一级生活片 | 欧美日韩亚洲一区二区 | 欧美一区二区三区在线观看免费 | 色综合中文 | 免费视频成人国产精品网站 | 欧美一级毛片一 | 青草资源视频在线高清观看 | 国产精品色图 | 我看一级黄色片 | 午夜在线观看cao | 大黄免费网站 | 精品视频久久久 | 黄色片网站在线免费观看 |