当前位置: 首页 > news >正文

外国网站备案镇江教育平台网站建设

外国网站备案,镇江教育平台网站建设,什么是网络设计编辑,深圳网络营销技巧目录 1. 使用plt.savefig保存无边框图形 2. 显示在屏幕上,并且去掉窗口的标题栏和工具栏 3. 通过配置 matplotlib 的 backend 和使用 Tkinter(或其他图形库) 方法 1:使用 TkAgg 后端,并禁用窗口的工具栏和标题栏 …

目录

1. 使用plt.savefig保存无边框图形

2. 显示在屏幕上,并且去掉窗口的标题栏和工具栏

3. 通过配置 matplotlib 的 backend 和使用 Tkinter(或其他图形库)

方法 1:使用 TkAgg 后端,并禁用窗口的工具栏和标题栏

示例代码:

解释:

方法 2:使用 Agg 后端保存图片,不显示工具栏

示例代码:

解释:

方法 3:使用 matplotlib 和 pyautogui 截图窗口区域

示例代码:

解释:

总结:


不知道是不是有人和我一样在苦恼在截取python plt绘制的图像时,不能快速截取图像显示区(因为存在窗口的标题栏和工具栏,所以需要使用截图工具自己选择图像显示区),这样截取的图像,质量和大小不一定满意。

下面就是尝试解决这个问题。

1. 使用plt.savefig保存无边框图形

如果你的目的是生成一个图形并保存为文件,而不是在屏幕上显示,可以使用plt.savefig方法,并设置bbox_inches='tight'参数来去除多余的空白边缘。此外,可以设置pad_inches=0来进一步减少边缘空白。

import matplotlib.pyplot as plt# 创建图形
plt.figure()
plt.plot([1, 2, 3], [4, 5, 6])
plt.title('Example Plot')# 保存图形,去除多余空白
plt.savefig('plot.png', bbox_inches='tight', pad_inches=0)# 清理
plt.close()

效果如下:

2. 显示在屏幕上,并且去掉窗口的标题栏和工具栏

import matplotlib.pyplot as pltdef on_key(event):if event.key == 'escape':  # 如果按下的是ESC键plt.close(fig)  # 关闭图像窗口# 禁用工具栏
plt.rcParams['toolbar'] = 'None'  # 禁用工具栏# 使用 TkAgg 后端,适用于禁用工具栏和标题栏
plt.switch_backend('TkAgg')# 创建图形
fig, ax = plt.subplots()# 设置图形内容
ax.plot([1, 2, 3], [4, 5, 6])
ax.set_title('Example Plot')# 去除标题栏并显示图像
fig.canvas.manager.window.overrideredirect(True)  # 去除窗口的标题栏
fig.canvas.mpl_connect('key_press_event', on_key)
# 保持图形显示 5 秒(可以根据需要调整时间)
# plt.pause(5)  # 这里是保持显示的时间
# 显示图形,直到手动关闭
plt.show(block=True)

在屏幕上显示:

这样很多截图工具(如weixin的alt+a)可以直接识别到整个区域。

在按下exc键的时候关闭图像:

import matplotlib.pyplot as plt# 禁用工具栏
plt.rcParams['toolbar'] = 'None'  # 禁用工具栏# 使用 TkAgg 后端,适用于禁用工具栏和标题栏
plt.switch_backend('TkAgg')# 创建图形
fig, ax = plt.subplots()# 设置图形内容
ax.plot([1, 2, 3], [4, 5, 6])
ax.set_title('Example Plot')# 去除标题栏并显示图像
fig.canvas.manager.window.overrideredirect(True)  # 去除窗口的标题栏
# 定义按键事件回调函数
def on_key(event):if event.key == 'escape':  # 如果按下的是ESC键plt.close(fig)  # 关闭图像窗口# 绑定按键事件
fig.canvas.mpl_connect('key_press_event', on_key)
# 保持图形显示 5 秒(可以根据需要调整时间)
# plt.pause(5)  # 这里是保持显示的时间
# 显示图形,直到手动关闭
plt.show(block=True)

import matplotlib.pyplot as plt# 禁用工具栏
plt.rcParams['toolbar'] = 'None'  # 禁用工具栏# 使用 TkAgg 后端,适用于禁用工具栏和标题栏
plt.switch_backend('TkAgg')# 创建图形
fig, ax = plt.subplots()# 设置图形内容
ax.plot([1, 2, 3], [4, 5, 6])
ax.set_title('Example Plot')# 获取 Tkinter 窗口对象
window = fig.canvas.manager.window# 去除窗口的标题栏
window.overrideredirect(True)# 设置窗口始终保持在最前面
window.attributes('-topmost', 1)  # 设置窗口为最上层# 定义按键事件回调函数
def on_key(event):if event.key == 'escape':  # 如果按下的是ESC键plt.close(fig)  # 关闭图像窗口# 绑定按键事件
fig.canvas.mpl_connect('key_press_event', on_key)# 显示图形
plt.show(block=True)

3. 通过配置 matplotlibbackend 和使用 Tkinter(或其他图形库)

要禁用 matplotlib 图形窗口中的工具栏和窗口标题栏,可以通过配置 matplotlibbackend 和使用 Tkinter(或其他图形库)来进行窗口控制。下面是两种常用的方式,能够帮助你轻松获取需要的图像,避免工具栏和窗口标题栏。

方法 1:使用 TkAgg 后端,并禁用窗口的工具栏和标题栏

matplotlib 中,TkAgg 是一个常用的后端,它允许你通过 Tkinter 控制窗口。你可以创建一个没有标题栏和工具栏的窗口。

示例代码:
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import tkinter as tk# 创建 Tkinter 窗口
root = tk.Tk()# 禁用窗口标题栏
root.overrideredirect(True)  # 取消标题栏# 创建图形
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6])
ax.set_title('Example Plot')# 将图形嵌入 Tkinter 窗口
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()# 显示图形
canvas.get_tk_widget().pack()# 设置窗口大小
root.geometry("400x300")# 显示窗口
root.mainloop()

解释:

  • root.overrideredirect(True):这行代码会移除窗口的标题栏和工具栏,使得只有绘图区域显示在屏幕上。
  • 该方法只显示图形内容,去除了任何工具栏、标题栏和边框,非常适合截取图像。

方法 2:使用 Agg 后端保存图片,不显示工具栏

如果你的目的是直接保存图像而不是显示窗口,可以使用 Agg 后端来避免打开任何窗口(没有标题栏和工具栏),直接将图形保存为文件。

示例代码:
import matplotlib.pyplot as plt# 切换到Agg后端,这样不会弹出窗口
plt.switch_backend('Agg')# 创建图形
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6])
ax.set_title('Example Plot')# 保存图形,去除空白
fig.savefig('plot_without_toolbar.png', bbox_inches='tight', pad_inches=0)# 清理
plt.close()

解释:

  • plt.switch_backend('Agg'):切换到 Agg 后端,这种后端不会弹出图形窗口,而是直接将图像保存为文件。这样就没有标题栏、工具栏,也不会弹出任何窗口。
  • fig.savefig('plot_without_toolbar.png', bbox_inches='tight', pad_inches=0):保存图形时,使用 bbox_inches='tight' 去除多余的空白。

方法 3:使用 matplotlibpyautogui 截图窗口区域

如果你不希望关闭窗口,只是想截取窗口内容并去除工具栏和标题栏,可以使用 pyautogui 截取屏幕上的指定区域。你可以通过设置窗口的位置和尺寸,避免工具栏和标题栏的干扰。

示例代码:
import matplotlib.pyplot as plt
import pyautogui
import time# 创建图形
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 5, 6])
ax.set_title('Example Plot')# 显示图形
plt.show(block=False)# 等待图形显示
time.sleep(1)# 获取屏幕截图,排除标题栏和菜单栏
screenshot = pyautogui.screenshot(region=(100, 100, 800, 600))  # 根据实际窗口调整区域# 保存截图
screenshot.save('screenshot_no_toolbar.png')
print("Screenshot saved as 'screenshot_no_toolbar.png'")# 清理
plt.close()

解释:

  • pyautogui.screenshot(region=(x, y, width, height)):这行代码截取了屏幕的指定区域。你需要调整 (x, y, width, height),使其排除标题栏和工具栏,仅截取绘图区域。

总结:

  • 方法 1:使用 TkAgg 后端并禁用窗口标题栏和工具栏,可以让你只显示绘图区域。
  • 方法 2:使用 Agg 后端,直接保存图像而不弹出任何窗口。
  • 方法 3:使用 pyautogui 截取屏幕区域,以避免工具栏和标题栏的干扰。

这些方法可以帮助你轻松获取所需的图像,去除工具栏和标题栏的干扰。

http://www.bjxfkj.com.cn/article/108911.html

相关文章:

  • 聊城做手机网站推广网站系统建站
  • 模拟网站建设软件有哪些格兰仕网站开发方案
  • 哪个网站可以帮忙做简历logo制作步骤
  • 太原网站建设培训室内设计培训教程
  • 买房网站怎么做电商网站开发项目计划书
  • 网站建设茶店网站长网站大全
  • 上海做网站seo网站备案加链接代码
  • 下载好的网站模板怎么用做网站要多少钱 知乎
  • 怎么建一个自己的网站seo整站优化
  • 抢购网站源码商务网站建设步骤有几个
  • 商城网站平台怎么做的cpm广告联盟平台
  • 中国商城网站建设腾讯企点下载官网
  • wordpress 搜索框插件网站设计网站开发优化
  • ftp怎么连接网站空间可以看封禁网站的浏览器
  • 南昌高端网站开发费用表电脑网站微信支付怎么做的
  • 职业技术学院网站建设项目来凤县住房和城乡建设厅网站
  • 推广优化网站排名教程怎么开网页游戏平台
  • 哪里有html企业网站模板下载科技型中小企业服务平台登录
  • 网站栏目一般有哪些外贸网站推广软件
  • 如何防止别人攻击自己的网站在线制图网
  • 垫江网站建设djrckj舆情分析报告案例
  • 低价做网站固定链接 wordpress 不起作用
  • 淘宝客网站免费模板下载嘉兴建设公司网站
  • 软件项目管理方法seo网站描述之间用什么标点符号
  • 河北网站建设有限公司免费申请微信收款码
  • 建设部执业考试网站网站开发所需的技术
  • 地下城钓鱼网站如何做网站开发前景怎么样
  • 最牛的房地产网站建设北京网站优化解决方案
  • wordpress新增站点wordpress用户投稿
  • 外贸网建站推广wordpress改插件难吗