亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在子圖中寫一段文字

在子圖中寫一段文字

滄海一幻覺 2022-10-18 17:41:31
我正在研究這個情節:我需要在第一個圖內寫一些東西,在紅線和黑線之間,我嘗試過,ax1.text()但它顯示了兩個圖之間的文本,而不是第一個圖內的文本。我怎樣才能做到這一點?情節是這樣安排的:fig, (ax1,ax2) = plt.subplots(nrows=2, ncols=1, figsize = (12,7), tight_layout = True)預先感謝您的幫助!
查看完整描述

1 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

沒有更多的代碼細節,很難猜出哪里出了問題。

matplotlib.axes.Axes.text可以很好地在子圖上顯示文本。我鼓勵您查看文檔(參數...)并自己嘗試。

文本位置基于以下 2 個參數:

  • transform=ax.transAxes: 表示坐標是相對于坐標軸邊界框給出的,坐標軸(0, 0)的左下角和(1, 1)右上角。

  • text(x, y,...): where x,y是放置文本的位置。可以使用以下參數更改坐標系transform。

這是一個例子:

# import modules

import matplotlib.pyplot as plt

import numpy as np


# Create random data

x = np.arange(0,20)

y1 = np.random.randint(0,10, 20)

y2 = np.random.randint(0,10, 20) + 15


# Create figure

fig, (ax1,ax2) = plt.subplots(nrows=2, ncols=1, figsize = (12,7), tight_layout = True)


# Add subplots

ax1.plot(x, y1)

ax1.plot(x, y2)

ax2.plot(x, y1)

ax2.plot(x, y2)


# Show texts

ax1.text(0.1, 0.5, 'Begin text', horizontalalignment='center', verticalalignment='center', transform=ax1.transAxes)

ax2.text(0.9, 0.5, 'End text', horizontalalignment='center', verticalalignment='center', transform=ax2.transAxes)


plt.show()

輸出

http://img1.sycdn.imooc.com//634e74f90001d8d611880687.jpg

查看完整回答
反對 回復 2022-10-18
  • 1 回答
  • 0 關注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號