matplotlib作為Python常見的二維圖形,那么,怎么去使用Python修改這類的二維圖形呢?比如,去修改matplotlib.pyplot.colorbar的位置,讓其做好對應(yīng)工作,保證相關(guān)的位置對齊,以此用來進行對齊主圖,具體下面給大家解答。
問題描述
像這樣的圖,我想把右邊的colorbar設(shè)置成和主圖一樣高度
方法
0.plt.colorbar參數(shù)介紹
https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.colorbar.html?highlight=colorbar#matplotlib.pyplot.colorbar
1.plt.colorbar(im,fraction=0.046,pad=0.04,shrink=1.0)
fraction可以從0.035-0.046調(diào)節(jié)以找到合適大小
但當圖像的長、高對比過大時,可能不起作用
2.make_axes_locatable
這是matplotlib包里的一個函數(shù)
from mpl_toolkits.axes_grid1 import make_axes_locatable im=plt.imshow(data) divider=make_axes_locatable(plt.gca()) cax=divider.append_axes("right",size="5%",pad="3%") plt.colorbar(im,cax=cax)
不適用于有投影參數(shù)的axe(會報錯),如cartopy的GeoAxes
3.make_axes_locatables升級版
https://stackoverflow.com/questions/18195758/set-matplotlib-colorbar-size-to-match-graph Matthias import matplotlib.pyplot as plt from mpl_toolkits import axes_grid1 def add_colorbar(im,aspect=20,pad_fraction=0.5,**kwargs): """Add a vertical color bar to an image plot.""" divider=axes_grid1.make_axes_locatable(im.axes) width=axes_grid1.axes_size.AxesY(im.axes,aspect=1./aspect) pad=axes_grid1.axes_size.Fraction(pad_fraction,width) current_ax=plt.gca() cax=divider.append_axes("right",size=width,pad=pad) plt.sca(current_ax) return im.axes.figure.colorbar(im,cax=cax,**kwargs)
用法示例
im=plt.imshow(np.arange(200).reshape((20,10))) add_colorbar(im)
4.手動給colorbar添加一個axe
https://stackoverflow.com/questions/18195758/set-matplotlib-colorbar-size-to-match-graph Fei Yao
import matplotlib.pyplot as plt import numpy as np fig=plt.figure() ax=plt.axes() im=ax.imshow(np.arange(100).reshape((10,10))) #Create an axes for colorbar.The position of the axes is calculated based on the position of ax. #You can change 0.01 to adjust the distance between the main image and the colorbar. #You can change 0.02 to adjust the width of the colorbar. #This practice is universal for both subplots and GeoAxes. cax=fig.add_axes([ax.get_position().x1+0.01,ax.get_position().y0,0.02,ax.get_position().height]) plt.colorbar(im,cax=cax)#Similar to fig.colorbar(im,cax=cax)
效果展示
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)砀鄮椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/128431.html
摘要:大家還記得上一篇文章來學點吧從一個斗圖小工具開始中最后提到的幾個問題么,我們這次就來解決一下其中難度最大的一個文本居中看,我把代碼優(yōu)化了上次之后,我偷偷把代碼優(yōu)化了,現(xiàn)在的方法長這樣創(chuàng)建表情圖調(diào)試用生成表情包對的,我把那些老長老長 showImg(https://segmentfault.com/img/bVbeDVL?w=250&h=250); 大家還記得上一篇文章0.來學點Pyth...
摘要:前言本篇主要介紹基本數(shù)據(jù)類型,以文本進度條為例,介紹庫的使用。 前言 本篇主要介紹基本數(shù)據(jù)類型,以文本進度條為例,介紹time庫的使用。 并在最后對蟒蛇繪制的代碼進...
摘要:的名稱來自于面板數(shù)據(jù)和數(shù)據(jù)分析。以下的內(nèi)容主要以為主。終端輸入導(dǎo)入相關(guān)模塊是一種類似于一維數(shù)組的對象,它由一組數(shù)據(jù)各種數(shù)據(jù)類型以及一組與之相關(guān)的數(shù)據(jù)標簽即索引組成。如果僅傳入一個序列,則會重新索引行函數(shù)的參數(shù)參數(shù)說明用作索引的新序列。 原文鏈接 numPy pandas的數(shù)據(jù)結(jié)構(gòu)介紹 簡介 Pandas [1] 是python的一個數(shù)據(jù)分析包,最初由AQR Capital Mana...
摘要:由在語言區(qū)域中被視為標點符號的字符組成的字符串。給定作為見上文的返回值,將其轉(zhuǎn)換為要格式化的對象。選項表示對浮點表示類型和整數(shù)表示類型使用下劃線作為千位分隔符。 上一篇文章:Python標準庫---17、內(nèi)置異常下一篇文章:Python標準庫---19、文本處理服務(wù):re正則表達式操作 字符串常量 此模塊中定義的常量為: string.ascii_letters下文所述 ascii...
摘要:已獲原作者授權(quán)原系列地址控件控件用來展示一些文字短消息和控件有些類似但在展示文字方面比要靈活比如控件可以改變字體而控件只能使用一種字體它提供了一個換行對象以使文字可以斷為多行它可以支持文字的自動換行及對齊這里要澄清一下前面提到的控件可以改變 已獲原作者授權(quán). 原系列地址: Python Tkinter Message 控件 Message 控件用來展示一些文字短消息. Message...
閱讀 917·2023-01-14 11:38
閱讀 888·2023-01-14 11:04
閱讀 747·2023-01-14 10:48
閱讀 2025·2023-01-14 10:34
閱讀 954·2023-01-14 10:24
閱讀 829·2023-01-14 10:18
閱讀 504·2023-01-14 10:09
閱讀 581·2023-01-14 10:02