簡體   English   中英

更改matplotlib.slider標簽文本大小

[英]Change matplotlib.slider label text size

我想繪制圖並使用滑塊更改其屬性。 但是matplotlib.widgets.Slider的標簽文本對我來說很小。 我在互聯網上沖浪,找到了如何更改答案,但是我沒有運氣。

代碼的關鍵部分是:

E0_slider_ax = fig.add_axes([0.6, 0.2, 0.25, 0.03], axisbg=axis_color)
E0_slider = mw.Slider(E0_slider_ax, r'$\epsilon_0$', 1,  100, valinit = E0)
# I want to make r'$\epsilon_0$' bigger

我嘗試將標簽的文本制作為以下內容:

t = matplotlib.text.Text(r'$\epsilon_0$', size = 22)
E0_slider = mw.Slider(E0_slider_ax, label = t, valmin = 1, valmax = 100, valinit = E0)

但是它返回了一個錯誤:

Traceback (most recent call last):

  File "<ipython-input-53-2310b0749547>", line 1, in <module>
    runfile('C:/Users/Robert/Desktop/multidif_S.py', 
wdir='C:/Users/Robert/Desktop')

  File "C:\Users\Robert\Desktop\WinPython-64bit-3.5.2.2\python-
3.5.2.amd64\lib\site-
packages\spyderlib\widgets\externalshell\sitecustomize.py", line 845, in 
runfile
    execfile(filename, namespace)

  File "C:\Users\Robert\Desktop\WinPython-64bit-3.5.2.2\python-
3.5.2.amd64\lib\site-
packages\spyderlib\widgets\externalshell\sitecustomize.py", line 103, in 
execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/Robert/Desktop/multidif_S.py", line 64, in <module>
    E0_slider = mw.Slider(E0_slider_ax, label = t, valmin = 1, valmax = 100, 
valinit = E0)

  File "C:\Users\Robert\Desktop\WinPython-64bit-3.5.2.2\python-
3.5.2.amd64\lib\site-packages\matplotlib\widgets.py", line 376, in __init__
    horizontalalignment='right')

  File "C:\Users\Robert\Desktop\WinPython-64bit-3.5.2.2\python-
3.5.2.amd64\lib\site-packages\matplotlib\axes\_axes.py", line 623, in text
    x=x, y=y, text=s)

  File "C:\Users\Robert\Desktop\WinPython-64bit-3.5.2.2\python-
3.5.2.amd64\lib\site-packages\matplotlib\text.py", line 220, in __init__
    self.set_text(text)

  File "C:\Users\Robert\Desktop\WinPython-64bit-3.5.2.2\python-
3.5.2.amd64\lib\site-packages\matplotlib\text.py", line 1206, in set_text
    self._text = '%s' % (s,)

  File "C:\Users\Robert\Desktop\WinPython-64bit-3.5.2.2\python-
3.5.2.amd64\lib\site-packages\matplotlib\text.py", line 186, in __str__
    return "Text(%g,%g,%s)" % (self._x, self._y, repr(self._text))

TypeError: a float is required

謝謝!

首先創建滑塊,然后使用E0_slider.label.set_size()更新標簽文本的大小。

您無需首先創建matplotlib.text.Text實例,而只需使用字符串作為標簽。

E0_slider_ax = fig.add_axes([0.6, 0.2, 0.25, 0.03], axisbg=axis_color)
E0_slider = mw.Slider(E0_slider_ax, r'$\epsilon_0$', 1,  100, valinit = E0)

E0_slider.label.set_size(22)

哪個將標簽尺寸從以下位置更改:

在此處輸入圖片說明

在此處輸入圖片說明

您不能向label參數提供文本。 但是您可以隨后更改標簽尺寸。 標簽可作為Slider.label ,並且是matplotlib.text.Text實例,可以使用set_size更改大小。

import matplotlib.pyplot as plt
import matplotlib.widgets

fig = plt.figure()

E0_slider_ax = fig.add_axes([0.6, 0.2, 0.25, 0.03], facecolor="skyblue")
E0_slider =  matplotlib.widgets.Slider(E0_slider_ax, r'$\epsilon_0$', 1,  100, valinit = 50)
E0_slider.label.set_size(40)

plt.show()

在此處輸入圖片說明

暫無
暫無

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

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