2016-07-12 12 views
2

私はこれがうまく機能しているPythonで図形に複数の背景色を使用するにはどうすればいいですか?

fig = figure(1) 
ax1 = fig.add_subplot(221) 
ax2 = fig.add_subplot(222) 
ax3 = fig.add_subplot(223) 
ax4 = fig.add_subplot(224) 

のようなもの、すなわち、複数のデータセットをプロットしたい4を言う、副図を使用。しかし、さらに、最初の行の2つのサブプロットと2番目の行の2つのサブプロットに異なる背景色を設定して、Figureの背景の上半分が黒で下半分が白になるようにしたいと思います。 これを行う方法を教えてもらえますか?

これまで私が試したことは、黒で1つ、白で背景に2つの図を追加して、最初の2つの図を図1に追加し、もう1つを図2に追加することでした。 PDFファイルには数字が含まれていましたが、PDFファイルが混乱していて、2つの数字が実際には2つの異なるもののように見えていて、

さらに私は

fig = figure(1) 
rect = fig.patch 
rect.set_facecolor('black') 
ax1 = fig.add_subplot(221) 
ax2 = fig.add_subplot(222) 
rect = fig.patch 
rect.set_facecolor('white') 
ax3 = fig.add_subplot(223) 
ax4 = fig.add_subplot(224) 

のようなものを試してみましたが、どうやらそれは次のように動作することはできません。次に、不適切なように見えるmatplotlib.patchesを使用して、各サブフィギュアの背景として四角形を作成しようとしました。

+0

はあなたがこれまでに試したものを含めてもらえますか? – sawreals

+0

[サブプロットの背景色を設定する]の複製があります(http://stackoverflow.com/questions/23313586/set-background-color-for-subplot) – albert

+0

サブプロットの背景色を変更してわかったので、色を変更しました私はキャンバスの色を変更したいと思います。 – berti

答えて

1

私は同じ問題を抱えていたし、次の解決策を考え出した:そうでない場合はパッチがサブプロットの前にあるので、あなたは、明示的zorderを設定する必要が

import matplotlib.pyplot as plt 
import matplotlib.patches as patches 

fig = plt.figure(1) 

# create rectangles for the background 
upper_bg = patches.Rectangle((0, 0.5), width=1, height=0.5, 
          transform=fig.transFigure,  # use figure coordinates 
          facecolor='gray',    # define color 
          edgecolor='none',    # remove edges 
          zorder=0)      # send it to the background 
lower_bg = patches.Rectangle((0, 0), width=1.0, height=0.5, 
          transform=fig.transFigure,  # use figure coordinates 
          facecolor='white',    # define color 
          edgecolor='none',    # remove edges 
          zorder=0)      # send it to the background 

# add rectangles to the figure 
fig.patches.extend([upper_bg, lower_bg]) 

# create subplots as usual 
fig.add_subplot(221) 
fig.add_subplot(222) 
fig.add_subplot(223) 
fig.add_subplot(224) 

plt.show() 

注意。次のように得られた数値が見えます:

Resulting figure with two different background colors このアプローチはまだmatplotlib.patchesに依存しているので、あなたが探しているクリーンな1ではないかもしれないが、私はそれがこの問題を有する他の人のために役に立つかもしれないと思いました。フィギュア自体を操作する上

詳しい情報はここで見つけることができます:http://matplotlib.org/users/artists.html#figure-container

関連する問題