2016-04-06 17 views
0

コミュニティ内の軸に色のボックスを追加し、Pythonのmatplotlibの

は、私はPythonのmatplotlibので散布図を作成していると言う:

plt.scatter(x, y) 

だが、これはデータであるとしましょう: 今enter image description here

、 x = -0.2からx = 0までの緑色のボックスを追加し、a ...を追加します) enter image description here

このように、軸上に色付きのボックスを追加する方法はありますか?

テキストラベルを含む(私が推測する中間範囲)。

私は正直である(散布図を作成する以外に)これをどのように開始するのかさえよく分かりません。

質問 少なくとも、これ(または他のPythonパッケージ)を実行するmatplotlibの機能を私に指示できますか?

お手数をおかけします。

+0

matplotlibは非常に多様な軸を使用しています。色付きボックスとオーバーレイテキストを追加したり、matplotlib追加ボックスを検索したり、テキストボックスを追加することができます。 http://matplotlib.org/users/text_intro.html http://matplotlib.org/users/annotations_guide.html – kaminsknator

答えて

1

おそらく、matplotlibののtext() 機能と一緒に行きたいです。おそらくこのようなものでしょうか。

import numpy as np 
import matplotlib.pyplot as plt 

x = np.linspace(0, 1, 100) 
y = np.sin(2*np.pi * x) 

fig = plt.figure() 
ax = fig.add_subplot(111) 
ax.plot(x, y, 'o') 
ax.set_xlim(-0.2, 1.2) 
ax.set_ylim(-1.5, 1.5) 

x_ticks = ax.get_xticks() 
y_ticks = ax.get_yticks() 
# use len(x_ticks)-1 number of colors 
colors = ['b', 'g', 'r', 'c', 'm', 'y', 'orange'] 
for i, x_tick in enumerate(x_ticks[:-1]): 
    ax.text(x_tick+0.03, y_ticks[0]-0.165, "text %i"%i, 
      bbox={'fc':colors[i], 'pad':10}) 

このコードは、これを返します。imageです。必要に応じてパディングとx、yの位置を調整して、正確な外観を実現できます。

+0

ありがとう、これは完璧です! – denvar

1
fig = plt.figure(figsize=(6,4)) 
plt.plot(np.arange(0,7,1),np.arange(0,7,1),linestyle='--', marker='o', color='b') 
rect1 = plt.Rectangle((1.5,1.5),(0.7),(0.5), facecolor="grey",edgecolor="black",alpha=0.8) 
rect2 = plt.Rectangle((2.5,2.5),(0.7),(0.5), facecolor="yellow",edgecolor="black",alpha=0.8) 
rect3 = plt.Rectangle((3.5,3.5),(0.7),(0.5), facecolor="k",edgecolor="black",alpha=0.8) 
plt.gca().add_patch(rect1) 
plt.gca().add_patch(rect2) 
plt.gca().add_patch(rect3) 

plt.text(1.65,1.65,r"Grey",fontsize = 10,zorder = 5,color = 'k',fontweight = 'bold') 
plt.text(2.55,2.65,r"Yellow",fontsize = 10,zorder = 5,color = 'k',fontweight = 'bold') 
plt.text(3.555,3.65,r"Black",fontsize = 10,zorder = 5,color = 'white',fontweight = 'bold') 

enter image description here

+0

ありがとうございます。しかし、プロット領域外のテキストボックスが必要です軸の部分:) – denvar

+0

実際には、何かのためにこれを必要としてしまった、ありがとう! – denvar

+0

よろしくお願いいたします。 –

関連する問題