百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

使用Python绘制迷人的二维心形曲线和三维马鞍面

off999 2024-12-31 13:46 47 浏览 0 评论

Python是一个功能强大的编程语言,不仅可以处理数据分析和机器学习任务,还能够创建美观的图形和图像。在这篇博客中,我们将学习如何使用Python的matplotlib库和PyQt5框架来绘制二维心形曲线和三维马鞍面。

绘制二维心形曲线

首先,我们从一个简单而浪漫的图形开始:二维心形曲线。这个曲线不仅外观迷人,而且其数学表示也相对简单。

准备工作

确保你已经安装了matplotlib和PyQt5。如果没有,可以通过以下命令安装:

pip install matplotlib PyQt5

直接安装anaconda也可以,自带matplotlib和PyQt5,传送门:一步步教你:在QT窗口中展示Matplotlib绘图

编写代码

接下来,让我们编写代码来创建一个QT应用程序,该应用程序会显示二维心形曲线:

import sys
import numpy as np
import matplotlib.pyplot as plt
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT as NavigationToolbar

class HeartShapePlot(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Heart Shape Plot in QT")

        # 创建一个widget和布局
        self.central_widget = QWidget()
        self.layout = QVBoxLayout(self.central_widget)

        # 创建matplotlib图形和导航栏
        self.canvas = FigureCanvas(plt.figure())
        self.toolbar = NavigationToolbar(self.canvas, self)

        # 添加canvas和toolbar到布局
        self.layout.addWidget(self.toolbar)
        self.layout.addWidget(self.canvas)
        self.setCentralWidget(self.central_widget)

        # 绘制心形曲线
        self.plot_heart_shape()

    def plot_heart_shape(self):
        ax = self.canvas.figure.add_subplot(111)
        t = np.linspace(0, 2 * np.pi, 1000)
        x = 16 * np.sin(t)**3
        y = 13 * np.cos(t) - 5 * np.cos(2*t) - 2 * np.cos(3*t) - np.cos(4*t)
        ax.plot(x, y, color='red')
        ax.set_aspect('equal', 'box')
        self.canvas.draw()

app = QApplication(sys.argv)
main_window = HeartShapePlot()
main_window.show()
sys.exit(app.exec_())

这个程序会创建一个窗口,里面显示了由数学公式生成的心形曲线。用户可以通过集成的工具栏来放大、缩小或平移视图。


绘制三维马鞍面

现在,让我们增加一点难度,绘制一个三维图形:马鞍面。这是一个经典的数学曲面,其形状类似于马鞍。

编写代码

下面是创建一个展示三维马鞍面的QT应用程序的代码:

import sys
import numpy as np
import matplotlib.pyplot as plt
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT as NavigationToolbar
from mpl_toolkits.mplot3d import Axes3D

class SaddleSurfacePlot(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("3D Saddle Surface Plot in QT")

        # 创建一个widget和布局
        self.central_widget = QWidget()
        self.layout = QVBoxLayout(self.central_widget)

        # 创建matplotlib图形和导航栏
        self.canvas = FigureCanvas(plt.figure())
        self.toolbar = NavigationToolbar(self.canvas, self)

        # 添加canvas和toolbar到布局
        self.layout.addWidget(self.toolbar)
        self.layout.addWidget(self.canvas)
        self.setCentralWidget(self.central_widget)

        # 绘制三维马鞍面
        self.plot_saddle_surface()

    def plot_saddle_surface(self):
        ax = self.canvas.figure.add_subplot(111, projection='3d')
        
        # 定义x, y, z的数据点
        x = np.linspace(-5, 5, 100)
        y = np.linspace(-5, 5, 100)
        x, y = np.meshgrid(x, y)
        z = x**2 - y**2

        # 绘制曲面
        ax.plot_surface(x, y, z, cmap='viridis')

        self.canvas.draw()

app = QApplication(sys.argv)
main_window = SaddleSurfacePlot()
main_window.show()
sys.exit(app.exec_())

这段代码创建了一个展示三维马鞍面的窗口。用户可以通过工具栏来旋转、缩放和平移这个三维图形,以便从不同角度观察。



结语

通过这两个例子,我们可以看到Python和相关库在数据可视化方面的强大能力。无论是用于展示数据、教育目的,还是仅仅为了艺术和美学,Python都是一个绝佳的工具。希望你喜欢这篇博客,并且能够在你的项目中应用这些知识!

相关推荐

联想电脑设置u盘启动的步骤(联想电脑设置成u盘启动)

联想电脑设置U盘启动两种方法方法一:通过启动快捷键1、如果是UEFI启动盘,可以通过启动快捷键选择U盘启动,首先插入UEFIU盘启动盘,然后启动过程中按下F12或Fn+F12组合键。2、这时候会弹出...

电脑桌面图标不见了怎么设置

方法一:1、首先按下快捷键“ctrl+shift+esc”打开任务管理器。2、然后点击左上角的文件,选择“运行新任务”。3、输入“explorer.exe”点击确定等待重启即可。方法二:1...

惠普暗影精灵7(惠普暗影精灵7配置)

惠普暗影精灵7的开机步骤如下:1.确保电源已连接并正常工作。将电源适配器插入电源插座,并连接到电脑上。2.打开电脑上的盖子。通常情况下,你需要打开盖子才能看到电源按钮。3.查找电源按钮。在大多数...

笔记本电脑开不了机怎么办如何解决

1、如果笔记本无法开机首先尝试调亮电脑屏幕亮度。2、开机按F2键,进入BIOS界面查看是否正常显示。3、外接显示器,按组合键切换显示。4、移除所有外接装置,取出加装的内存或其它硬件后再开机确认。如果以...

如何禁止电脑自动更新(怎么禁止电脑自动更新)

建议将自动更新关闭,用软件更新,自己的时间自己做主。下载超级兔子,让她帮助你下载补丁。你选择快速检测后,按安装按钮,她会自动帮助你下载安装,并且不需要重启。到目前为止,使用超级兔子打补丁全部成功(对于...

动态桌面软件下载(动态桌面主题下载)
  • 动态桌面软件下载(动态桌面主题下载)
  • 动态桌面软件下载(动态桌面主题下载)
  • 动态桌面软件下载(动态桌面主题下载)
  • 动态桌面软件下载(动态桌面主题下载)
如何重装系统win7视频教程(如何重装系统win7具体步骤)

不需要重装知识点延伸,更换CPU-BIOS设置1)未更改过bios设置,确认主板支持cpu型号直接插上即可,bios会自适应2)之前更改过bios设置,在更换cpu之前应需要将bios恢复出厂...

惠普售后维修官网电话(惠普官网维修中心电话)

要找到惠普的售后服务,你可以通过以下几种方式进行联系。首先,你可以访问惠普的官方网站,在网站上找到售后服务的相关信息,包括联系电话和在线支持。其次,你可以拨打惠普的客户服务热线,向客服人员咨询并安排售...

笔记本迈克菲怎么卸载(笔记本迈克菲怎么卸载不了)

戴尔笔记本电脑上的迈克菲中心可以卸载,迈克菲中心为一款杀毒软件,如果自身笔记本电脑不需要可以进行卸载。迈克菲中心卸载步骤:1、打开桌面“此电脑”。2、在“此电脑”界面中点击选择“卸载或更改程序”。3、...

windows10怎么进入修复模式(win10如何进入修复系统)

1、 进入WindowsRE恢复模式。非正常启动三次,可进入WindowsRE恢复模式。具体操作方法如下:按住电源按钮10秒钟以关闭设备。再次按电源按钮以打开设备。看到Windo...

现在哪个浏览器好用(现在哪种浏览器好用)

一、谷歌浏览器谷歌浏览器是公认最好用的,这个可以从市场占有率看出端倪,超过三分之二的用户使用谷歌浏览器。Chrome浏览器以简洁快速著称,不管是普通用户还是开发人员,chrome浏览器都是首选。Chr...

笔记本电脑怎么恢复出厂设置联想
  • 笔记本电脑怎么恢复出厂设置联想
  • 笔记本电脑怎么恢复出厂设置联想
  • 笔记本电脑怎么恢复出厂设置联想
  • 笔记本电脑怎么恢复出厂设置联想
win10系统还是win7系统好(是win10好还是win7好)

就我个人觉得win7系统和win10系统都挺好用的,主要看个人习惯,win10系统也推出了3年了,相信很多用户也已经尝试过win10系统,操作上没有什么很大的区别,就是界面有些不同,这就看个人喜欢了。...

重装系统u盘制作教程(重装系统u盘怎么制作)

以下是重装电脑系统的一般步骤:在正常可用的电脑上下载并安装一个制作启动U盘的工具,例如Rufus、WinToUSB等。使用该工具将操作系统安装文件写入U盘,并设置U盘为启动盘。将U盘插入需要重装系统的...

从win8装回win7系统(win8.1怎么装回win7)

重装电脑,而且您的【电脑系统没有完全崩溃】,那么可以用【【【硬盘安装系统的方法】】】来装系统,无需借助光盘或者u盘,简单快速。电脑硬盘安装系统的方法如下:1.到WIN7旗舰版基地去http://ww...

取消回复欢迎 发表评论: