久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

python matplotlib實現(xiàn)將圖例放在圖外

瀏覽:54日期:2022-07-29 15:55:52

關于matplotlib如何設置圖例的位置?如何將圖例放在圖外?以及如何在一幅圖有多個子圖的情況下,刪除重復的圖例?我用一個簡單的例子說明一下。

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfig = plt.figure(1)ax1 = fig.add_subplot(2,2,1)ax2 = fig.add_subplot(2,2,2)ax3 = fig.add_subplot(2,2,3)ax4 = fig.add_subplot(2,2,4)df1 = pd.DataFrame(np.random.randn(3,5),columns = [’one’,’two’,’three’,’four’,’five’])df2 = pd.DataFrame(np.random.randn(3,5),columns = [’one’,’two’,’three’,’four’,’five’])df3 = pd.DataFrame(np.random.randn(3,5),columns = [’one’,’two’,’three’,’four’,’five’])df4 = pd.DataFrame(np.random.randn(3,5),columns = [’one’,’two’,’three’,’four’,’five’])df1.plot(ax = ax1, title = 'df1', grid = ’on’)df2.plot(ax = ax2, title = 'df1', grid = ’on’)df3.plot(ax = ax3, title = 'df1', grid = ’on’)df4.plot(ax = ax4, title = 'df1', grid = ’on’)plt.show()

運行結果如下

python matplotlib實現(xiàn)將圖例放在圖外

可以看出,隨機生成了幾個dataframe,在一個figure()中生成了四個子圖,每個子圖的圖例都是dataframe.columns里的值,那么如何移除這些圖例?

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfig = plt.figure(1)ax1 = fig.add_subplot(2,2,1)ax2 = fig.add_subplot(2,2,2)ax3 = fig.add_subplot(2,2,3)ax4 = fig.add_subplot(2,2,4)df1 = pd.DataFrame(np.random.randn(3,5),columns = [’one’,’two’,’three’,’four’,’five’])df2 = pd.DataFrame(np.random.randn(3,5),columns = [’one’,’two’,’three’,’four’,’five’])df3 = pd.DataFrame(np.random.randn(3,5),columns = [’one’,’two’,’three’,’four’,’five’])df4 = pd.DataFrame(np.random.randn(3,5),columns = [’one’,’two’,’three’,’four’,’five’])df1.plot(ax = ax1, title = 'df1', grid = ’on’)df2.plot(ax = ax2, title = 'df1', grid = ’on’)df3.plot(ax = ax3, title = 'df1', grid = ’on’)df4.plot(ax = ax4, title = 'df1', grid = ’on’)ax1.legend_.remove() ##移除子圖ax1中的圖例ax2.legend_.remove() ##移除子圖ax2中的圖例ax3.legend_.remove() ##移除子圖ax3中的圖例plt.show()

python matplotlib實現(xiàn)將圖例放在圖外

可以看出ax1,ax2,ax3中的圖例都被移除了,但是上圖還不是很美觀?有沒有什么辦法將圖例放到圖外面呢?請看:

import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfig = plt.figure(1)ax1 = fig.add_subplot(2,2,1)ax2 = fig.add_subplot(2,2,2)ax3 = fig.add_subplot(2,2,3)ax4 = fig.add_subplot(2,2,4)df1 = pd.DataFrame(np.random.randn(3,5),columns = [’one’,’two’,’three’,’four’,’five’])df2 = pd.DataFrame(np.random.randn(3,5),columns = [’one’,’two’,’three’,’four’,’five’])df3 = pd.DataFrame(np.random.randn(3,5),columns = [’one’,’two’,’three’,’four’,’five’])df4 = pd.DataFrame(np.random.randn(3,5),columns = [’one’,’two’,’three’,’four’,’five’])df1.plot(ax = ax1, title = 'df1', grid = ’on’)df2.plot(ax = ax2, title = 'df1', grid = ’on’)df3.plot(ax = ax3, title = 'df1', grid = ’on’)df4.plot(ax = ax4, title = 'df1', grid = ’on’)ax1.legend_.remove()ax2.legend_.remove()ax3.legend_.remove()ax4.legend(loc=2, bbox_to_anchor=(1.05,1.0),borderaxespad = 0.) ##設置ax4中l(wèi)egend的位置,將其放在圖外plt.show()

python matplotlib實現(xiàn)將圖例放在圖外

其中參數(shù)loc用于設置legend的位置

bbox_to_anchor用于在bbox_transform坐標(默認軸坐標)中為圖例指定任意位置。

以上這篇python matplotlib實現(xiàn)將圖例放在圖外就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 米易县| 奉化市| 高淳县| 金平| 玛纳斯县| 合江县| 孝义市| 封丘县| 河源市| 玉山县| 苍溪县| 浑源县| 西平县| 堆龙德庆县| 密山市| 日土县| 辰溪县| 洞头县| 武威市| 枣强县| 平顺县| 京山县| 长沙市| 克拉玛依市| 肇源县| 洞口县| 阜新市| 佛冈县| 亳州市| 南陵县| 剑阁县| 广汉市| 宜兰县| 淳安县| 广南县| 都昌县| 庆云县| 五大连池市| 遂平县| 柏乡县| 论坛|