2012-03-21 152 views
1

我試圖用共享的y軸放置兩個散點圖,但軸似乎得到一個奇數的比例。沒有共享軸,這兩個地塊看起來不錯。我還注意到,使用「plot」而不是「scatter」時,問題不會發生。圖像包括在下面。這是我正在使用的代碼。matplotlib散點圖中的共享軸

#!/usr/bin/python 

import matplotlib.pyplot as plt 

fig = plt.figure(1) 
for i in range(1,3): 
    if i == 1: 
     ax = fig.add_subplot(1,2,i) 
    else: 
     fig.add_subplot(1,2,i, sharey=ax) 

    #plt.plot([5.0], [1],marker="*",color='tomato') 
    plt.scatter([5.0], [1], s=20, color='tomato') 

plt.show() 

[我將包括圖像,但該網站不會讓我作爲一個新手,當我運行上面的代碼我看到,從0.0000運行到0.0008與0.0004處繪製一個點y軸圖。正如預期的那樣,沒有共享軸,y軸從0.94變爲1.06,單點繪製爲1.00。

有誰能告訴我爲什麼?這是一個錯誤還是一個功能?

matplotlib:0.99.1.2-3ubuntu在Ubuntu 10.04 LTS - 該清醒山貓

+0

看起來這是matplotlib中的一個合法錯誤,但不值得處理。它似乎隻影響散點圖中的單點,所以我試圖調試一個最小的用例時偶然發現它。只要我向散點圖添加多個點,問題就會消失。 – 2012-04-19 18:31:21

回答

0

我不回答這個問題的原因,但在這裏是如何擺脫它:在您的代碼段,讓scatter 3要畫的點

plt.scatter([1.0,2,3], [1.1,2.2,2.9], s=20, color='tomato') 

適合我(matplotlib 1.1.0在Lucid上)。

我只能猜測,scatter試圖比plot有點聰明,軸限制, 但無論它在做什麼,它只是一個單一的點瘋了。