1 回答
TA贡献1887条经验 获得超5个赞
如果您在不设置参数 figsize 的情况下调用matplotlib.pyplot.figure,它将采用默认形状(引用自文档):
figsize : (float, float),可选,默认值:无 宽度,高度,以英寸为单位。如果未提供,则默认为 rcParams["figure.figsize"] = [6.4, 4.8]。
所以,你可以通过这样做来设置形状
matplotlib.pyplot.figure(figsize=(2.56,2.56))
不知道您的数据是什么样的,我认为您的方法相当迂回,所以,我建议这样:
import numpy as np
import matplotlib.pyplot as plt
# generating simulated polynomial data:
arr = np.zeros((256, 256))
par = [((a-128)**2, a) for a in range(256)]
par = [p for p in par if p[0]<255]
arr[zip(*par)] = 1
x, y = np.where(arr>0)
p2 = np.polyfit(y, x, 2)
xp = np.linspace(0,256,256)
plt.imshow(arr) # show the image, rather than the conversion to datapoints
p = np.poly1d(p2) # recommended in the documentation for np.polyfit
plt.plot(xp, p(xp))
plt.ylim(0,256)
plt.xlim(0,256)
plt.show()
添加回答
举报