aspect='equal'
为长向量绘制几乎一条直线,而='auto'
将其绘制为矩阵,这也是不需要的。如何强制vec
显示为SMALLVEC?我见过相关的SO,但它们都相当冗长,并且在我的应用程序中添加了很多代码——是否有一些简短的东西,比如ax.set_width()
?优选地ax
来自plt.subplots()
的axes
代码:
import matplotlib.pyplot as plt
import numpy as np
KWS = dict(weight='bold', fontsize=14)
def plot_auto(mat, vec):
fig, axes = plt.subplots(1, 2)
plt.suptitle("AUTO", **KWS)
axes[0].imshow(mat, aspect='auto')
axes[1].imshow(vec, aspect='auto')
plt.show()
def plot_equal(mat, vec):
fig, axes = plt.subplots(1, 2)
plt.suptitle("EQUAL", **KWS)
axes[0].imshow(mat, aspect='auto')
axes[1].imshow(vec, aspect='equal')
plt.show()
def plot_smallvec(smallvec):
plt.imshow(smallvec)
plt.title("SMALLVEC", **KWS)
np.random.seed(0)
mat = np.random.randn(500, 500)
vec = np.random.randn(500, 1)
smallvec = np.random.randn(25, 1)
plot_auto(mat, vec)
plot_equal(mat, vec)
plot_smallvec(smallvec)
感谢@ImportanceOfBeingErnest建议对^{} 参数(
num
)使用第三个选项。我想,如果您想匹配由不同形状数组生成的纵横比,那么包含通用公式可能会很有用。公式是其中
reference
是要匹配其打印纵横比的数组,target
是要使用匹配纵横比打印的数组。将其包含在示例代码中给予
注意 - 此公式可能会因图形的其他变化而崩溃,但在示例代码的范围内,它工作正常
相关问题 更多 >
编程相关推荐