更改matplotlib.slider标签文本大小 [英] Change matplotlib.slider label text size

查看:31
本文介绍了更改matplotlib.slider标签文本大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想绘制图表并使用滑块更改其属性.但是 matplotlib.widgets.Slider 的标签文本对我来说很小.我上网冲浪以找到答案来改变它,但是我没有运气.

I want to make plots and change their properties with slider. But the label text of matplotlib.widgets.Slider is very small for my eyes. I surfed the internet to find the answer how to change it, but I had no luck.

代码的关键部分是:

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

我试图使标签文本如下:

I tried to make text for the label as folows:

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

寻求帮助!

推荐答案

您不能向 label 参数提供文本.但是您可以随后更改标签尺寸.该标签可以作为 Slider.label 使用,并且是 matplotlib.text.Text 实例,可以使用 set_size 更改其大小.

You cannot supply a text to the label argument. But you can change the label size afterwards. The label is available as Slider.label and, being a matplotlib.text.Text instance, can be changed in size using 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()

这篇关于更改matplotlib.slider标签文本大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆