簡體   English   中英

如何對情節進行仿射變換?

[英]How to make an affine transformation of a plot?

使用matplotlib.pyplot,我想對子圖進行仿射變換。

這是我的用例:1。我想在同一行上繪制兩個子圖,2。我想在子圖下面添加一些文本(不使用xticks或xlabels,但是像plt.text一樣)3。我需要文本在figsize限制內,即文本的坐標必須在0和寬度/高度之間。

我當前代碼的問題是子圖從y軸開始為0,這意味着我用該軸的負坐標打印我的文本。 使用我正在使用的工具(Sphinx),它會裁剪繪圖,並且不會顯示低於0或高於0的高度。

這是我現在正在做的一個小例子。 這不起作用(文本的某些部分未顯示)。

import numpy as np
import matplotlib.pyplot as plt


plt.figure(figsize=(12, 4))

plt.subplot(121)
plt.plot(np.arange(10), 'o')
plt.xticks([], [])
for i in range(10):
    plt.text(i , - 1 + (i - 10) / 4, str(i), fontsize=17, color='C0')

plt.subplot(122)
plt.plot(np.arange(2, 12), 'o')
plt.xticks([], [])
for i in range(10):
    plt.text(i, 1 + (i - 10) / 4, str(i + 2), fontsize=17, color='C0')

plt.show()

我想將繪圖限制在一個高度范圍內,例如(1,3),這樣我就可以用正坐標顯示文本。 顯然,如果可以用其他解決方案完成,我會接受它。

你知道我怎么能這樣做嗎?

matplotlib.pyplot.subplots_adjust做了訣竅:保存圖像時可以看到整個文本。

看到這篇文章

暫無
暫無

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

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