python中如何让图形出现在指定位置_python-保存matplotlib图形时如何隐藏自定义按......

我是pyplot的新手.我需要在绘图中添加一个自定义按钮,这是通过以下代码行完成的:

import numpy as np

import matplotlib.pyplot as plt

from matplotlib.widgets import Button

dataX = np.array([1,2,3,4,5,6,7,8,9,10])

dataY = np.array([1193,1225,1125,1644,1255,13676,2007,2008,12359,1210])

ax = plt.subplot(111)

def on_click(event):

if event.dblclick:

ax.plot((event.xdata, event.xdata), (mean-standardDeviation, mean+standardDeviation), 'r-')

plt.show()

def _yes(event):

print("yolo")

mean = np.mean(dataY)

standardDeviation = np.std(dataY)

ax.plot(dataX, dataY, linewidth=0.5)

plt.connect('button_press_event', on_click)

axcut = plt.axes([0.9, 0.0, 0.1, 0.075])

bcut = Button(axcut, 'YES', color='red', hovercolor='green')

bcut.on_clicked(_yes)

plt.show()

这行代码成功地为我提供了所需的解决方案.但是我的问题是,当我尝试通过单击工具栏上的按钮来保存图形时,是否可能不显示该自定义按钮?

最佳答案

一种策略可能是隐藏按钮,并仅在需要时(即,当您想单击它时)显示它.

想到了几种可能性,例如按一个键以显示/隐藏按钮或双击图中的某个位置.

我想一个简单的方法可能是只在鼠标悬停在其所在的轴上时显示该按钮.(对于初次使用的用户来说,这可能是一种糟糕的用户体验,但是如果使用该应用程序的人是同一个人,那么他或她应该知道按钮的位置并放上鼠标.)

这是一个工作示例:

import numpy as np

import matplotlib.pyplot as plt

from matplotlib.widgets import Button

dataX = np.array([1,2,3,4,5,6,7,8,9,10])

dataY = np.array([1193,1225,1125,1644,1255,13676,2007,2008,12359,1210])

ax = plt.subplot(111)

def on_click(event):

if event.dblclick:

ax.plot((event.xdata, event.xdata), (mean-standardDeviation, mean+standardDeviation), 'r-')

plt.show()

def on_enter(event):

axcut.set_visible(True)

def on_leave(event):

axcut.set_visible(False)

def _yes(event):

print("yolo")

mean = np.mean(dataY)

standardDeviation = np.std(dataY)

ax.plot(dataX, dataY, linewidth=0.5)

plt.connect('button_press_event', on_click)

plt.connect("axes_enter_event", on_enter)

plt.connect("axes_leave_event", on_leave)

axcut = plt.axes([0.9, 0.0, 0.1, 0.075])

bcut = Button(axcut, 'YES', color='red', hovercolor='green')

axcut.set_visible(False)

bcut.on_clicked(_yes)

plt.show()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值