簡體   English   中英

修復 matplotlib 中圖例的大小

[英]Fix size of legend in matplotlib

我正在嘗試使用 matplotlib 制作自動繪圖,其中幾個不同的特征相互疊加(背景是填充的等高線圖,上一層是 pcolormesh)。 我試圖繪制的最重要的特征是幾個散點圖,帶有不同的標簽和圖標。

我正在嘗試向該圖添加圖例,目前使用以下命令:

leg = ax.legend(legplots,
           legnames,
           scatterpoints=1,
           loc='upper center',
           ncol=3,
           fontsize=14,
         bbox_to_anchor=(0.5, -0.14),
          fancybox=True, shadow=True)

假設 ax 是主軸,legplots 和 legnames 分別是散點圖及其相應標簽的列表。

添加圖例工作正常,但隨着我擁有的腿圖數量(及其名稱長度)的變化,當您為圖設置動畫時,圖例的大小會增大和縮小。 如何控制圖例框的大小和圖例內的列寬? 這可能嗎?

目前,您的邊界框的大小為 0,因為您只指定了它的位置 ( (0.5, -0.14) )。

您可以將圖例的邊界框設置為大於 0 並且也足夠大以容納最大數量的元素所需的最大尺寸。我認為您需要通過反復試驗找到該尺寸.

所以使用完整的 4 元組表示法

bbox_to_anchor=(x0, y0, width, height)

結合適當的loc參數和關鍵字參數mode="expand"將允許您使圖例足夠大以滿足您的需要。 有關 4 元組符號的更詳細說明,請參閱此帖子並查看 圖例位置指南

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM