2012-02-09 199 views
3

我在使用numpy繪製(x,y)散點圖。現在軸從(0,0)開始並延伸以與數據的範圍對齊。我需要繪製位於x = 0線上的兩點。在座標軸上繪製標記

目前看來符號在軸之前繪製,隨後被軸截斷。我希望這出現在軸的頂部。我相信我可以用'標籤'做些事情,但是我找不到任何方法來完成這項工作。

這些標記有點可見,但是它們是可視化的關鍵組成部分。如果有人有工作,這將是美好的。

謝謝!

威爾Savran

PS(我試過,但是我沒有名氣尚未發表圖片)

回答

8

您可以關閉由plt.plot創建的線對象的剪輯標誌。

import numpy as np 
import matplotlib.pyplot as plt 
x = np.array([0,1,2,3,4,5,6]) 
y = np.array([0,2,0,4.5,0.5,2,3]) 

line = plt.plot(x,y,'o')[0] 
line.set_clip_on(False) 
plt.show() 

enter image description here

+1

謝謝。這是我最初的想法,但我最終使用了GMT來爲審查做出陰謀。這值得讚賞。 – wsavran 2012-02-13 19:13:16

+0

不錯,我不知道這一點。謝謝! – 2012-02-13 23:44:44

+0

我相信現在只是一個kw參數,'plt.plot(x,y,'o',clip_on = False)' – innisfree 2017-06-29 02:02:03

1

我覺得你plt.axis([xmin,xmax,ymin,ymax])後:

import numpy as np 
import matplotlib.pyplot as plt 
x = np.array([0,1,2,3,4,5,6]) 
y = np.array([0,2,0,4.5,0.5,2,3]) 
plt.plot(x,y,'o') 
plt.axis() 
# (0.0, 6.0, 0.0, 4.5) 
plt.axis([-.5,6.5,-.5,5]) 
plt.show() 

enter image description here

您可以用plt.axis()以編程方式檢索當前軸,然後減去/添加一個小的邊距,然後重新設置它。

+0

也看看'pyplot.xlim()'和'pyplot.ylim()'。 – 2012-02-10 00:28:20

+0

謝謝。這兩種解決方案都非常符合我的需求。要麼是完美的。對不起,我還是新來的,沒有這個特權。 – wsavran 2012-02-13 19:12:02