6

私は、ラジオボタンの単純なリストのサイズと縦横比を正しく取得しようと何時間も試みてきましたが、成功しませんでした。最初に、モジュールをインポートします。

import matplotlib.pyplot as plt
from matplotlib.widgets import RadioButtons

次に、実際のラジオ ボタンが作成されます。

plt.figure()
rax = plt.axes([0.1, 0.1, 0.6, 0.6], frameon=True)
labels = [str(i) for i in range(10)]
radio = RadioButtons(rax, labels)

これにより、楕円形のラジオ ボタンが大きすぎて、縦方向に重なってしまいます。 ここに画像の説明を入力

plt.axes の「aspect」パラメーターを使用して「equal」に設定した場合:

plt.figure()
rax = plt.axes([0.1, 0.1, 0.6, 0.6], frameon=True, aspect='equal')
labels = [str(i) for i in range(10)]
radio = RadioButtons(rax, labels)

次に、ラジオ ボタンの実際の円を取得しますが、それでも大きすぎます。 ここに画像の説明を入力

'aspect' パラメータを 'equal' に設定して高さを 0.3 に減らすと、以前の結果よりも小さいバージョンが得られます (ボタンは小さくなりますが、小さい軸インスタンスではまだ重なっています)。

私が本当にやりたいのは、非常に狭い幅と大きな高さを持ち、重ならない丸いラジオボタンをまだ持っていることです:

plt.figure()
rax = plt.axes([0.1, 0.1, 0.2, 0.8], frameon=True)
labels = [str(i) for i in range(10)]
radio = RadioButtons(rax, labels)

しかし、これは縦長の楕円形のラジオ ボタンを生成します。 ここに画像の説明を入力

どうすればこの問題を解決できますか?

4

2 に答える 2

5
plt.figure()
rax = plt.axes([0.1, 0.1, 0.6, 0.6], frameon=True ,aspect='equal')
labels = [str(i) for i in range(10)]
radios = RadioButtons(rax, labels)
for circle in radios.circles: # adjust radius here. The default is 0.05
    circle.set_radius(0.02)
plt.show()

次に、添付の図を取得します。ここに画像の説明を入力

于 2016-04-09T17:42:39.593 に答える
0

ここで適切なスニペットを見つけたのは@evianpring 、 RadioButtons ウィジェットで狭い幅と大きな高さを取得するにはどうすればよいですか?

于 2020-07-15T16:00:32.847 に答える