matplotlib check_buttons 框颜色

标签 matplotlib

我正在使用 check_buttons 小部件,如示例 ( http://matplotlib.org/examples/widgets/check_buttons.html )

在具有多条线的绘图上,很难从文本中知道哪个复选框与哪条绘制的线对应,至少在单击该框并且用户查看是否可以判断哪条线消失之前是这样。

有谁知道复选框的背景颜色是否可以与它影响的线相同......类似于图例?

最佳答案

您可以按如下方式设置小部件框颜色,

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import CheckButtons

t = np.arange(0.0, 2.0, 0.01)
s0 = np.sin(2*np.pi*t)
s1 = np.sin(4*np.pi*t)
s2 = np.sin(6*np.pi*t)

fig, ax = plt.subplots()
l0, = ax.plot(t, s0, visible=False, lw=2)
l1, = ax.plot(t, s1, lw=2)
l2, = ax.plot(t, s2, lw=2)
plt.subplots_adjust(left=0.2)

rax = plt.axes([0.05, 0.4, 0.1, 0.15])
check = CheckButtons(rax, ('2 Hz', '4 Hz', '6 Hz'), (False, True, True))

#Define colours for rectangles and set them
c = ['b', 'g', 'r']    
[rec.set_facecolor(c[i]) for i, rec in enumerate(check.rectangles)]


def func(label):
    if label == '2 Hz': l0.set_visible(not l0.get_visible())
    elif label == '4 Hz': l1.set_visible(not l1.get_visible())
    elif label == '6 Hz': l2.set_visible(not l2.get_visible())
    plt.draw()
check.on_clicked(func)

plt.show()

检查按钮面板将每个复选框作为一个 matplotlib.patches.Rectangle 对象,可以是 customised根据需要。

关于matplotlib check_buttons 框颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30329239/

相关文章:

python - 使用 matplotlib 创建带有回归线的箱线图

python - Pandas:带有两个条形图和两个 y 轴的条形图

python - 在python中使用蒙特卡洛方法

python - 如何将数据框中的不同数据组绘制成一个图形

python - 如何从 csv 文件中读取日期/时间字段并在 python 中相应地绘制图形

python - 通过 django 中的 View 将 matplotlib 图形渲染为 html

python - 如何使用 FuncAnimation 通过 matplotlib 更新和动画多个图形?

python - Pylab 直方图显示 x 轴上的所有 bin

python - matplotlib 将 csv 标题行的图例添加到折线图

python - Matplotlib - 断轴示例 : uneven subplot size