1、matplotlib 画图基础步骤

主目录

1、创建数据

import numpy as np
# 创建多项式函数
x = np.linspace(-10, 10, 101)
f = np.poly1d([1., 0., -1., 0.])
y = f(x)

2、画图步骤

import matplotlib.pyplot as mp

# 创建图形窗口(标题、颜色)
mp.figure(num='title', facecolor='lightgray')

# 标题(子标题名称、字号)
mp.title('subtitle', fontsize=14)

# 坐标轴(文本、字号)
mp.xlabel('xlabel', fontsize=12)
mp.ylabel('ylabel', fontsize=12)

# 坐标轴刻度(字号)
mp.tick_params(labelsize=10)

# 网格线线型
mp.grid(linestyle=':')

# 绘制曲线
mp.plot(x, y, color='dodgerblue', label=r'$y=x^3-x$')

# 显示标签
mp.legend()

# 展示图形窗口
mp.show()

3、效果

这里写图片描述

PySimpleGUI 是一款基于 Python 的 GUI 框架,而 matplotlib 则是一个强大的 Python 画图库。这篇文章将介绍如何在 PySimpleGUI 中集成 matplotlib 画图步骤一:安装依赖库 首先需要安装 PySimpleGUI 和 matplotlib 两个库,可以使用以下命令进行安装: ```python pip install PySimpleGUI pip install matplotlib ``` 步骤二:创建 PySimpleGUI 窗口 接下来需要创建一个 PySimpleGUI 窗口,用于显示 matplotlib 画出的图形。可以使用以下代码创建一个简单的窗口: ```python import PySimpleGUI as sg sg.theme('Dark Blue 3') layout = [[sg.Graph((500, 500), (0, 0), (500, 500), key='graph')]] window = sg.Window('Matplotlib Integration', layout, resizable=True, finalize=True) graph = window['graph'] ``` 这个窗口只包含一个 Graph 对象,用于显示 matplotlib 画出的图形步骤三:使用 matplotlib 画图 接下来需要使用 matplotlib 画图。在 PySimpleGUI 中集成 matplotlib 最简单的方法是使用 FigureCanvasTkAgg 类。以下是一个简单的例子,用于在 PySimpleGUI 窗口中显示一条直线: ```python import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg fig, ax = plt.subplots() ax.plot([0, 1, 2, 3], [0, 1, 4, 9]) canvas = FigureCanvasTkAgg(fig, graph.TKCanvas) canvas.draw() canvas.get_tk_widget().pack(side='top', fill='both', expand=1) ``` 这段代码首先创建了一个 Figure 对象和一个 Axes 对象,然后使用 plot 方法画了一条直线。接着,创建了一个 FigureCanvasTkAgg 对象,它可以将 matplotlib图形绘制在 PySimpleGUI 窗口中的 Graph 对象上。最后,调用 draw 方法将图形绘制到 FigureCanvasTkAgg 对象上,并将它添加到 Graph 对象中。 步骤四:运行程序 最后,需要使用 PySimpleGUI 的事件循环处理器运行程序,以便可以响应用户的操作。以下是一个简单的例子: ```python while True: event, values = window.read() if event == sg.WIN_CLOSED: break window.close() ``` 这个程序会一直循环,直到用户关闭窗口。在每次循环中,它调用 read 方法来等待用户的操作。如果用户关闭了窗口,程序会退出循环,并调用 close 方法关闭窗口。 完整代码: ```python import PySimpleGUI as sg import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg sg.theme('Dark Blue 3') layout = [[sg.Graph((500, 500), (0, 0), (500, 500), key='graph')]] window = sg.Window('Matplotlib Integration', layout, resizable=True, finalize=True) graph = window['graph'] fig, ax = plt.subplots() ax.plot([0, 1, 2, 3], [0, 1, 4, 9]) canvas = FigureCanvasTkAgg(fig, graph.TKCanvas) canvas.draw() canvas.get_tk_widget().pack(side='top', fill='both', expand=1) while True: event, values = window.read() if event == sg.WIN_CLOSED: break window.close() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值