簡體   English   中英

下圖文字為matplotlib

[英]Text below a figure with matplotlib

我設法在圖中添加了文字

        fg_ax.text(
            0.05,
            0.1,
            f"n = {len(df)}",
        )

fg_ax是我的matplotlib.axes object

但我想要它低於這個數字。 因為我的 y 坐標 go 從 0 到 1,所以我在閱讀文檔后認為做這樣的事情會把它放在下面:

        fg_ax.text(
            0.05,
            -0.5,
            f"n = {len(df)}",
        )

但是什么都沒有出現,就好像我在寫“外面”顯示的東西一樣。

我嘗試plt.show()fg_ax.figure.savefig 沒有工作。

最小可重現示例:

import numpy as np
import matplotlib.pyplot as plt


N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = (30 * np.random.rand(N)) ** 2  # 0 to 15 point radii

_, fg_ax = plt.subplots()
fg_ax.scatter(x, y, s=area, c=colors, alpha=0.5)
fg_ax.text(
    0.05,
    -0.5,
    f"n = qsdfqsdf",
)
plt.show()

基於此答案,我已將您的代碼更改為以下內容:

N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = (30 * np.random.rand(N)) ** 2  # 0 to 15 point radii

fig, fg_ax = plt.subplots()
fg_ax.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.figtext(
    0.2, 0.01, f"n = qsdfqsdf", wrap=True, horizontalalignment='center', fontsize=10
)
fig.subplots_adjust(bottom=0.3)
plt.savefig("image.pdf", format="pdf", bbox_inches="tight")
plt.show()

在此處輸入圖像描述

暫無
暫無

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

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