我想在matplotlib中使用imshow()函數來繪製177 X 177網格中的顏色值。當我在一個小的(30X30)網格上運行以下代碼(即我設置了width = 30
)時,它生成的圖像具有很好的大小均勻的正方形。當我在更大的網格上運行它時(150X150),正方形不均勻。有些被拉伸在一個或兩個維度上。這裏是我使用的代碼的簡化版本:當網格大小很大時Matplotlib imshow()網格不均勻
grid = [[]]*width
for i in range(width):
grid[i] = [[]]*width
for j in range(width):
grid[i][j] = (random(), random(), random())
plt.imshow(grid, interpolation="none", aspect=1)
plt.savefig("test.png")
任何想法如何使電網均勻?我已經嘗試了所有討論here的寬高比的東西,但它似乎沒有解決問題。我正在使用Python 2.7.6和matplotlib版本1.3.1。
編輯: 這張圖片顯示瞭如果我一直放大,大網格中的細胞看起來像什麼。這是使用稍微不同的着色功能獲得的,其中9個細胞的簇通過增加色調。這更清楚地顯示了不均勻的形狀。如果你願意的話,我可以包含代碼,但是我可以用(不太複雜的)隨機代碼獲得相同的行爲。
下面是什麼樣子(再次放大)一樣,當我用一個小格:
我無法重現您的問題,請張貼圖像。另外,'grid = np.random.rand((width,width,3))'會替換你的嵌套循環。 – tacaswell 2014-10-20 22:31:54
圖片發佈。並且很好地捕捉代碼!我很快寫了這段代碼,以提供一個更簡單的例子。 – seaotternerd 2014-10-21 05:25:11