2012-03-28 6 views
13

私は/ pylabをmatplotlibのためにMATLABからスクリプトをプロットした画像を変換する必要があり、私は以下のMATLABの画像と同じ効果を達成しようとしている:matplotlibのプロットを軸を越えて行う方法を教えてください。

image generated using matlab

をZオーダー、あなたが見ることができるようにプロットのうちグリッドのzオーダーよりも高いように見えるので、マーカーは軸によって隠されません。しかし、私は私のmatplotlibの画像と同じことを行う方法を把握することはできません。

eimage generated with matplotlib

yの制限を増やすことなく、同一の表示を得ることが可能である場合、私は思ったんだけど軸。より高いzオーダーが前景によりであるグラフ要素に相当することをhttp://matplotlib.sourceforge.net/examples/pylab_examples/zorder_demo.html

+0

私は、MATLABの行動を好むために十分な理由を持っていると確信していますが、私見軸外に描画することは機能よりもバグの詳細です。 – joaquin

答えて

30

マーカーを軸を超えて表示するには、クリッピングをオフにすることができます。これは、plotコマンドclip_on=Falseのキーワード引数を使用して行うことができます。例えば

import matplotlib.pyplot as plt 
plt.plot(range(5), range(5), 'ro', markersize=20, clip_on=False, zorder=100) 
plt.show() 

enter image description here

+0

+1はい!私はこれがOPが探していたものだとはっきりと確信していますが、私の(不安定な)回答に対する彼のコメントまで、それはあまり明確ではありませんでした。うまくいけば、OPはこれを受け入れます。投稿していただきありがとうございます。 – bernie

+0

ありがとうございます!!!!!これはまさに私が必要としていたものです! – nay

+0

素晴らしい!ちょうど私が必要なもの。 – bretcj7

1

これはzorder kwargを使用する方法の完全な例です。あなたの2番目の質問については

Figureクラスのインスタンスへのfigsize kwargを見て:あなたが問題に遭遇した場合http://matplotlib.sourceforge.net/api/figure_api.html?highlight=figsize#matplotlib.figure.Figure

、あなたのコードの一部を掲載し、私たちは与えることができるでしょうしてくださいmore-詳細な推奨事項。運が良かった。

+0

ありがとう、私はあなたが書いた2つのリンクを見てみましょう。コードについては、ポイント自体(ここでは0.2; 0など)が表示されていれば、周囲のマーカーが完全に見えない場合は問題にならないことを考慮することがmatplotlibのデフォルトの動作だと思います。それは私が変更しようとしている動作です – nay

+0

@nay:tom10があなたの質問に対する答えを持っているようです。ハッピーコーディング! – bernie

+0

はい!助けをありがとう=) – nay

0

次々と線をプロットする場合は、プロット呼び出しの順序を変更するだけでzオーダーが修正されます。

+0

あなたの答えをありがとう、実際に私がしようとしているのは、プロットのxオーダーをグリッド自体のzオーダーより高くすることです。 0.2; 0))は、MATLAB画像のように完全に見えるようになります。 – nay

関連する問題