1

2 つのポイント (サイズ 8 のベクトル) と 3 つの異なるビット演算 (And、Or、Xor) があります。各ポイントとビット演算の結果を 2D プロットにマッピングしました。ここで、各ポイントの実際のデータ自体と、プロットの横 (プロットの右側またはプロットの上 (可能な場合はいつでも)) の操作の結果を表示したいので、後で結果を分析したいときに、データ値を簡単に読み取ることができます。 . 現在、私のイメージは次のようになっています。凡例が切り取られており、プロット以外に何も書く場所がないことがわかります。

ここに画像の説明を入力

プロットの外に表示したいテキスト:

P1  P2  And Or  Xor     
0   1   0   1   1   
0   0   0   0   0   
0   0   0   0   0   
0   0   0   0   0   
1   1   1   1   0   
1   1   1   1   0   
1   1   1   1   0   
1   1   1   1   0   

私が使用しているコード:

import numpy as np
import pylab as pl
fig = pl.figure()
ax = fig.add_subplot(111)

ax.plot(p1x, p1y, 'bx', label='Point 1', alpha=.55, markersize=30)
ax.plot(p2x, p2y, 'r+', label='Point 2', alpha=.55, markersize=30)
ax.plot(Andx, Andy, 'go', label='AND', alpha=.45, markersize=10) 
ax.plot(Orx, Ory, 'y<', label='OR', alpha=.45, markersize=10) 
ax.plot(Xorx, Xory, 'ks',  label='XOR', alpha=.45, markersize=10) 
ax.set_title('Bitwise Operation')
ax.set_xlabel('axis X')
ax.set_ylabel('axis Y')
ax.axis([-0.05, 1.05, -0.05, 1.05])
pl.legend(loc='lower left', bbox_to_anchor=(1.02, 0), borderaxespad=0)
pl.show()
4

2 に答える 2

6

add_axesを使用して軸のサイズと位置を直接制御し、 text を使用して必要なテキストを追加できます。例えば:

import numpy as np
import pylab as pl
fig = pl.figure()

ax =  fig.add_axes([0.1, 0.2, 0.4, 0.4])

ax.plot(.1, .2, 'bx', label='Point 1', alpha=.55, markersize=30)
ax.plot(.2, .1, 'r+', label='Point 2', alpha=.55, markersize=30)
ax.plot(.3, .2, 'go', label='AND', alpha=.45, markersize=10) 
ax.plot(.1, .3, 'y<', label='OR', alpha=.45, markersize=10) 
ax.plot(.1, .2, 'ks',  label='XOR', alpha=.45, markersize=10) 
ax.set_title('Bitwise Operation')
ax.set_xlabel('axis X')
ax.set_ylabel('axis Y')
ax.axis([-0.05, 1.05, -0.05, 1.05])
pl.legend(loc='lower left', bbox_to_anchor=(1.02, 0), borderaxespad=0)

data = ('P1  P2  And Or  Xor \n'
'0   1   0   1   1   \n'
'0   0   0   0   0   \n'
'0   0   0   0   0   \n'
'0   0   0   0   0   \n'
'1   1   1   1   0   \n'
'1   1   1   1   0   \n'
'1   1   1   1   0   \n'
'1   1   1   1   0   \n')

pl.text(1.75,0,data)
pl.show()

軸外のテキストでプロット

于 2013-11-11T05:21:55.610 に答える
1

私の場合、特定の追加データ (グラフのパラメーター) をテキスト ボックスに表示する必要がありました。これは、Matlabの「領域外のテキスト」に似ています。いくつかの試行錯誤の後、私はここでうまく書かれた答えに出くわしました。

答えの後処理部分は本当に役に立ちます。 plt.subplots_adjustプログラマーは、plt.tight_layout

于 2019-01-14T16:46:57.540 に答える