[英]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.