簡體   English   中英

如何調整 matplotlib 單選按鈕的大小和縱橫比?

[英]How do I adjust the size and aspect ratio of matplotlib radio buttons?

我已經嘗試了幾個小時來獲得正確的簡單單選按鈕列表的大小和縱橫比,但沒有成功。 首先,導入模塊:

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)

然后我得到了單選按鈕的實際圓圈,但它們仍然太大。 在此處輸入圖片說明

如果我仍然使用設置為“相等”的“方面”參數將高度降低到 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)

但這會生成垂直橢圓形的單選按鈕: 在此處輸入圖片說明

我該如何解決這個問題?

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()

然后你會得到附圖。 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM