python圖例
『壹』 python中圖例的位置怎麼手動調整
1.最近遇到一個問題,關於圖例legend如何畫在圖外的問題,並以適合的比例顯示出來。
2.首先傳統的做法如下,這種方式並不能滿足我的要求,而且是顯示在圖內。
ax1.legend(loc='center left', bbox_to_anchor=(0.2, 1.12),ncol=3)1
loc表示圖例的位置,有多種形式:
『North』 圖例標識放在圖頂端
『South』 圖例標識放在圖底端
『East』 圖例標識放在圖右方
『West』 圖例標識放在圖左方
『NorthEast』 圖例標識放在圖右上方(默認)
『NorthWest 圖例標識放在圖左上方
『SouthEast』 圖例標識放在圖右下角
『SouthWest』 圖例標識放在圖左下角12345678
有人說簡單,有相同的方式,如下經測試不行,可能是本人用的python版本不行,所用的方式就是和前面一樣,採用如下的方式來替換上面的legend位置。
『NorthOutside』 圖例標識放在圖框外側上方
『SouthOutside』 圖例標識放在圖框外側下方
『EastOutside』 圖例標識放在圖框外側右方
『WestOutside』 圖例標識放在圖框外側左方
『NorthEastOutside』 圖例標識放在圖框外側右上方
『NorthWestOutside』 圖例標識放在圖框外側左上方
『SouthEastOutside』 圖例標識放在圖框外側右下方
『SouthWestOutside』 圖例標識放在圖框外側左下方
(以上幾個將圖例標識放在框圖外)
『Best』 圖標標識放在圖框內不與圖沖突的最佳位置
『BestOutside』 圖標標識放在圖框外使用最小空間的最佳位置1234567891011
bbox_to_anchor:表示legend的位置,前一個表示左右,後一個表示上下。當使用這個參數時。loc將不再起正常的作用,ncol=3表示圖例三列顯示。
3.有人說要解決這個問題可以採用對坐標軸放大或是縮小的方式,經本人測試可以行,但是,放大縮小的比率不讓人滿意,且很難控制到適合的位置。有興趣可以參考鏈接,最終得出此方法不行。
4.那麼就沒有辦法了嗎?NO.NO,請看下面,最終完成如下。
這就是本人要的效果,不廢話,具體做法如下
box = ax1.get_position()
ax1.set_position([box.x0, box.y0, box.width , box.height* 0.8])12
首先按上面的方式,如果你想將圖例放上面就box.height*0.8,放右邊就box.width*0.8其它方式一樣。同時配合下面來使用。
ax1.legend(loc='center left', bbox_to_anchor=(0.2, 1.12),ncol=3)1
主要是bbox_to_anchor的使用,自己可以修改參數試下,good luck for you.
閱讀全文
版權聲明:原創文章,未經博主
『貳』 python 三維圖如何製作圖例
你如果使用的是matplotlib的話可以直接調用plot3這類專門構建3d的圖
『叄』 python 畫折線圖加一個legend
importmatplotlib.pyplotasplt
plt.plot([1,2,4,1],label='line1')
plt.plot([3,1,2,3],label='line2')
plt.legend()
可以通過plot函數的label參數來設置,
然後需要調用一下legend()函數。
『肆』 怎樣利用Python進行圖片分析
fromPILimportImage###此處為導出包,注意字母大小寫
importos,os.path
#指明被遍歷的文件夾
rootdir=os.path.abspath(os.curdir)+'/Image/'
rootdir1=os.path.abspath(os.pardir)+"/Image/"
#打包用
ifos.path.isdir(rootdir):
pass
else:
rootdir=rootdir1
size=315,560
i=0
forparent,dirnames,filenamesinos.walk(rootdir):
forfilenameinfilenames:
infile=os.path.join(parent,filename)
im=Image.open(infile)###此處Image.open(dir)為多數對象應用的基礎.
im.thumbnail(size)###此處size為長度為2的tuple類型,改變圖片解析度
im.save(infile)###im.save(dir),圖片處理的最後都用這個,就是保存處理過後的圖片
i+=1
print(i,"Done")
要用pil包 安裝如下:pipinstallpillow
『伍』 python jupyter notebook畫圖圖例中文亂碼
亂碼通常和編碼相關,而你改的是字體
貼一下最小的重現問題的完整代碼,然後我來測試下
『陸』 python matlibplot 怎樣畫圖例
用於添加圖例的函數是plt.legend(),我們通過例子來對其進行介紹。
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
#多數據並列柱狀圖
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
x = np.arange(6)
y1 = [23,5,14,27,18,14]
y2 = [10,27,25,18,23,16]
tick_label = ["A","B","C","D","E","F"]
bar_width = 0.35
plt.bar(x,y1,bar_width,align="center",label="班級A",alpha=0.5)
plt.bar(x+bar_width,y2,bar_width,align="center",label="班級B",alpha=0.5)
plt.xlabel("成績等級")
plt.ylabel("人數")
plt.xticks(x+bar_width/2,tick_label)
plt.legend(bbox_to_anchor=(1,1),#圖例邊界框起始位置
loc="upper right",#圖例的位置
ncol=1,#列數
mode="None",#當值設置為「expend」時,圖例會水平擴展至整個坐標軸區域
borderaxespad=0,#坐標軸和圖例邊界之間的間距
title="班級",#圖例標題
shadow=False,#是否為線框添加陰影
fancybox=True)#線框圓角處理參數
plt.show()
效果如圖所示
『柒』 python圖片解析是否有
from PIL import Image ### 此處為導出包,注意字母大小寫import os, os.path # 指明被遍歷的文件夾rootdir =os.path.abspath(os.curdir)+'/Image/'rootdir1=os.path.abspath(os.pardir)+"/Image/" #打包用if os.path.isdir(rootdir): passelse: rootdir=rootdir1 size = 315, 560i=0 for parent,dirnames,filenames in os.walk(rootdir): for filename in filenames: infile=os.path.join(parent,filename) im = Image.open(infile) ### 此處Image.open(dir)為多數對象應用的基礎. im.thumbnail(size) ### 此處size 為長度為2的tuple類型,改變圖片解析度 im.save(infile) ### im.save(dir),圖片處理的最後都用這個,就是保存處理過後的圖片 i+=1 print(i,"Done")
『捌』 python matplotlib 圖例字體大小
去掉plt.legend()改為---->>>>
plt.legend(loc=0, numpoints=1)
leg = plt.gca().get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize='small')
『玖』 見圖。python matplotlib 子圖圖例不顯示完全。怎麼解決
ax[0].legend(),ax[1].legend(),直接使用plt.legend()一般只會出現一個