以下生成一個包含三個數據點(0,0),(0,0.5)和(1,1)的圖。只有位於繪圖區域內的繪製點(小圓圈)部分是可見的,所以我在角落看到四分之一圓,沿着左脊看到一個半圓。如何繪製點,使它們出現在matplotlib的頂端?
是否有一個技巧,我可以使所有的點完全可見,所以他們不被剪裁在軸框架內?
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
fig = Figure()
canvas = FigureCanvas(fig)
ax = fig.add_subplot(111)
ax.plot([0, 0, 1], [0, 0.5, 1], 'o')
fig.canvas.print_figure('test.png')
編輯:荷銀的建議 - 的顯而易見的方法 - 是不優選的方法,因爲這些是ROC曲線圖(與框常規繪製從0到1在兩個軸上)。如果我可以讓matplotlib產生與http://www.google.com/search?q=roc+plot類似的結果,在兩個軸上都有一個緊密圍繞0..1的框,但在軸線的頂部繪製了多個點,這將是最優的。
編輯2:我猜這是可以做到用「spine placement」(新的一樣的MPL 0.99),隨着劇情面積稍微放大爲荷銀建議,但隨後略有重新定位是沿着兩個刺0軸。我會試驗這個,併發佈一個答案,如果它的工作,但隨時打敗我。
我還需要添加zorder = 3,所以點在Spines(如果存在的話)上出現,而不是從下面偷看,但這是我需要的「技巧」。謝謝! :) – 2010-09-10 10:51:23