2017-07-10 18 views
0

私はmatplotlibを使ってエラーバープロットを作成しましたが、ズームインせずにすべてを見るには混み合っています。もちろんこれを行うことはできますが、プロットを保存するときにはズームイン残りのデータは失われます。Matplotlibでプロットを小さくする

matplotlibでスクロール可能なプロットを得る方法はありますか?pngとして保存すると、すべてが含まれていますか、データが失われないような他の形式ですか?基本的には、プロットの長さが幅よりもはるかに大きいことを望みます。

私はプロットに使用されるコードは次のとおりです。

plot1_dataerr = get_plot_data_errbars(processed_answers[0][plot_low:]) #the data to be plotted, the zeroth element of this is the labels, the first is the means and the second is the errorbar size 
fig, axs = plt.subplots() 
fig.subplots_adjust(left=0.2) 
axs.set_xlim([1,5]) 
axs.grid() 
axs.errorbar(plot1_dataerr[1],range(len(plot1_dataerr[1])),xerr = plot1_dataerr[2], fmt = 'k o') 
axs.yaxis.set_ticks(np.arange(len(plot1_dataerr[1]))) 
axs.set_yticklabels(plot1_dataerr[0]) 

そして、ここでは、あなたはそれが非常に混雑し、不明である見ることができるように私は、取得していますプロットである: enter image description here

答えて

2

あなたは、プロットのサイズを大きくすることが当然の

plt.subplots(figsize=(18,10)) 

これは、画面上のプロットを示すための制限があります。だから、あなたは同様またはそれに加えて、

plt.subplots(figsize=(36,20), dpi=50) 

は、その後、あなたが保存され、図中の任意の詳細を失わないためにできるようになりますPDFなどのベクトル形式でプロットを保存、インチあたりのドット数を減少させることができます。

また、dpiを維持し、figureizeを増やして、最後にスクロールバーが付いたウィンドウにプロットを表示することもできます。これは例えば以下のように示される。質問の中でScrollbar on Matplotlib showing page

0

あなたは大きなを指定することができます図形サイズはsubplots()コンストラクタで指定します。

fig, axs = plt.subplots(figsize=(w, h)) 

whはインチで幅と高さです。

関連する問題