python:画由两条抛物线所围成的图形

news2024/9/23 11:20:43

《高等数学》同济大学版 P338

编写  test_diff_2_area.py  如下

# -*- coding: utf-8 -*-
""" 画由两条抛物线: y=sqrt(x) , y=x^2 所围成的图形的面积 """
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon

def fun1(x):
    return np.sqrt(x)

def fun2(x):
    return np.power(x,2)


x = np.linspace(0, 1, num=100)
y1 = fun1(x)
y2 = fun2(x)

fig, ax = plt.subplots()
plt.plot(x, y1, 'r', linewidth=2)
plt.plot(x, y2, 'r', linewidth=2)

a = 0.2
b = 0.9
# 坐标轴设置
ax.set_xticks([a, b])
ax.set_yticks([])
ax.set_xticklabels(['$a$', '$b$']) # 换成公式字体
plt.figtext(0.98, 0.05, '$x$')
plt.figtext(0.01, 0.98, '$y$') #0~1代表在图的比例处

# 绘制灰色多边形
ix = np.linspace(a, b)
iy1 = fun1(ix)
ixy1 = zip(ix, iy1)
iy2 = fun2(ix)
ixy2 = zip(ix, iy2)
verts1 = [(a, 0)] + list(ixy1) + [(b, 0)]
verts2 = [(a, 0)] + list(ixy2) + [(b, 0)]
# 多边形 Polygon
poly1 = Polygon(verts1, facecolor='0.9', edgecolor='0.3')
poly2 = Polygon(verts2, facecolor='1.0', edgecolor='0.3')
ax.add_patch(poly1)
ax.add_patch(poly2)

# 添加 LaTex数学公式
x_math = 0.5
y_math = 0.5
latex = r'$\int_a^b (\sqrt{x} - x^2)dx $'
plt.text(x_math, y_math, latex, fontsize=14, horizontalalignment='center')
plt.show()

运行 python test_diff_2_area.py 

  •  相关函数介绍
    • linspace:在指定的间隔内返回均匀间隔的数字
      • 属性
        • start:序列的起始值
        • stop :序列的结束值
      • 其他属性详见文档:https://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html?highlight=linspace#numpy.linspace
    • set_xticks:使用刻度列表设置x刻度
      • 属性
        • ticks:x轴刻度列表
      • 更多属性详见文档:https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.set_xticks.html?highlight=set_xticks#matplotlib.axes.Axes.set_xticks
    • set_xticklabels:使用字符串标签列表设置x-tick标签。
      • 属性
        • labels:字符串标签列表
      • 更多属性参见文档:https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.set_xticklabels.html?highlight=set_xticklabels#matplotlib.axes.Axes.set_xticklabels
    • set_yticks:使用刻度列表设置y刻度
      • 属性
        • ticks:y轴刻度列表
      • 更多属性参加文档:https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.set_yticks.html?highlight=set_ytick
    •  figtext:添加文字到图
      • 属性
        • x,y:两个float值,放置文本的位置。默认情况下,这是图形坐标,浮动在[0,1]中。最右是1最左是0
      • 更多属性详见文档:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.figtext.html?highlight=figtext#matplotlib.pyplot.figtext
    • zip:把两个数组打包为一个元组
      • 属性
        • iterabl :一个或多个迭代器
      • 详见资料:Python zip() 函数 | 菜鸟教程
    • text:请参照往期笔记https://www.cnblogs.com/linblogs/p/9670488.html
      • 属性
        • horizontalalignment:文本显示位置,center是居中显示
    • Polygon:绘制一般的多边形
      • 属性
        • xy:多边形的点
        • facecolor:填充的阴影深度
        • edgecolor:填充的边界深度
    • 参考matplotlib文档https://matplotlib.org/index.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2050739.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[算法题]排序数组

题目链接: 排序数组 快速排序求解 两个重点: 1. 选取随机数做 key, 不止固定选最左边的数做 key, 避免在数据有序时退化成 O(n^2) 的时间复杂度, 取 key 下标公式: rand() % (end - begin 1) begin (加上begin偏移, 保证当前的 key 在当前的区间内) 2. 三段划分, 将区间划…

MySQL中处理JSON数据

​ 大家好,我是程序员小羊! 前言 在大数据时代,处理和分析结构化与非结构化数据的能力对于企业的成功至关重要。MySQL作为一种广泛使用的关系型数据库管理系统(RDBMS),在应对传统结构化数据方面表现出色。然…

【html+css 绚丽Loading】 - 000003 乾坤阴阳轮

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 &#x1f495…

python基础篇(15):闭包

在函数嵌套的前提下&#xff0c;内部函数使用了外部函数的变量&#xff0c;并且外部函数返回了内部函数&#xff0c;我们把这个使用外部函数变量的内部函数称为闭包。 1 简单闭包 def outer(logo):def inner(msg):print(f"<{logo}>{msg}<{logo}>")retu…

yolov5网络初始化问题

当你打印detect层的三个特征层时&#xff0c;发现有三种不同的长和宽&#xff0c;如下图所示&#xff1a; 我提出三个问题&#xff1a; 为什么不一样呢&#xff0c;输入有什么含义吗&#xff1f; 为什么网络初始化四次&#xff08;forward)&#xff1f; 下面来逐个击破 1. torc…

LeetCode - LCR 146- 螺旋遍历二维数组

LCR 146题 题目描述&#xff1a; 给定一个二维数组 array&#xff0c;请返回「螺旋遍历」该数组的结果。 螺旋遍历&#xff1a;从左上角开始&#xff0c;按照 向右、向下、向左、向上 的顺序 依次 提取元素&#xff0c;然后再进入内部一层重复相同的步骤&#xff0c;直到提取完…

模型训练坎坷路--逐步提升模型准确率从40%到90%+

文章目录 〇、前言一、更改学习率1.原理&#xff1a;欠拟合需要减小学习率2.效果-->有用&#xff01; 二、更改训练批次batch_size1.原理&#xff1a;更大的批量大小时&#xff0c;梯度估计更加精确2.效果-->有点用 三、更改数据预处理方式1.原理&#xff1a;数据可能没有…

【微服务】springboot 整合表达式计算引擎 Aviator 使用详解

目录 一、前言 二、表达式计算框架概述 2.1 规则引擎 2.1.1 什么是规则引擎 2.1.2 规则引擎用途 2.1.3 规则引擎使用场景 2.2 表达式计算框架 2.2.1 表达式计算框架定义 2.2.2 表达式计算框架特点 2.2.3 表达式计算框架应用场景 2.3 表达式计算框架与规则引擎异同点 …

二叉树练习习题集一(Java)

1. 思路&#xff1a; 就是让左孩子和右孩子进行交换&#xff0c;这里需要一个中间变量用来记录&#xff0c;然后完成交换。如果进行优化则添加当左孩子和右孩子都为null时直接返回。 class Solution {public TreeNode invertTree(TreeNode root) {TreeNode tmpnull;//用来进行…

C++适配windows和linux下网络编程TCP简单案例

C网络编程 网络协议是计算机网络中通信双方必须遵循的一套规则和约定&#xff0c;用于实现数据的传输、处理和控制。这些规则包括了数据格式、数据交换顺序、数据处理方式、错误检测和纠正等。网络协议是使不同类型的计算机和网络设备能够相互通信的基础&#xff0c;是网络通信…

PDF转markdown工具:magic-pdf

1. magic-pdf 环境安装 conda create -n MinerU python3.10 conda activate MinerU pip install boto3>1.28.43 -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install magic-pdf[full]0.7.0b1 --extra-index-url https://wheels.myhloli.com -i https://pypi.tuna.t…

SSA-SVM多变量回归预测|樽海鞘群优化算法-支持向量机|Matalb

目录 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 亮点与优势&#xff1a; 二、实际运行效果&#xff1a; 三、算法介绍&#xff1a; 四、完整程序下载&#xff1a; 一、程序及算法内容介绍&#xff1a; 基本内容&#xff1a; 本代码基于Matlab平台编译&a…

Chrome浏览器更改默认User-Agent

一、业务需求 二、插件下载 三、插件使用 原创文章&#xff0c;请勿转载&#xff01; 详细教程教你如何更改默认浏览器的User-Agent&#xff0c;几分钟足以&#xff01; 一、业务需求 当我们遇到一些特定的UA才能访问的网址时&#xff0c;我们就可以通过一些手段来修改我们浏…

Python之字符串练习题(下)

21.nameStr“Albert Einstein"&#xff0c;如何使用字符串运算符“:”来提取 nameStr 中的名和姓? mingnameStr[:6] xingnameStr[7:]23.下面哪些语句在运行时不会出错? (a)var xyz ’ * 10.5 (b)var ‘xyz’ * ‘5 ©var‘’xyz’*5 (d)var‘xyz’*5.0 重复运算符…

HTML静态网页成品作业(HTML+CSS)——美食企业介绍设计制作(1个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有1个页面。 二、作品演示 三、代…

在亚马逊云科技上对Stable Diffusion模型提示词、输出图像内容进行安全审核

项目简介&#xff1a; 小李哥将继续每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿AI技术解决方案&#xff0c;帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS AI最佳实践&#xff0c;并应用到自己的日常工作里。 本次介绍的是如何在亚马逊云科技机器学习托…

HighPoint SSD7749M2:128TB NVMe 存储卡实现28 GB/s高速传输

HighPoint Technologies推出了一款全新的SSD7749M2 RAID卡&#xff0c;能够在标准的桌面工作站中安装多达16个M.2 SSD&#xff0c;实现高达128TB的闪存存储。该卡通过PCIe Gen4 x16接口提供高达28 GB/s的顺序读写性能。这些令人瞩目的性能规格伴随着高昂的价格标签。 #### 技术…

ArcGIS Pro基础:设置快速访问工具栏

上图【红色框线】内显示就是快速访问工具栏&#xff0c;访问非常方便&#xff0c;不需要切换到选项卡了 上图显示&#xff0c;可以勾选或者取消进行设置&#xff0c;通过【更多命令】可以选择更多的工具 如上图所示&#xff0c;可以选择自己经常使用的命令&#xff0c;可以输入…

手撕线程池

1.手撕线程池原理图 2.代码实现 // 手撕线程池 public class Main {public static void main(String[] args) {ThreadPool threadPool new ThreadPool(1,1000,TimeUnit.MILLISECONDS,1,(queue, task) -> {queue.putByTime(task,1500,TimeUnit.MILLISECONDS);});for (int i…

LangChain 实战演练:借助 LangChain SQL Agent 与 GPT 实现文档智能分析及交互

LangChain实战&#xff1a;利用LangChain SQL Agent和GPT进行文档分析和交互 我最近接触到一个非常有趣的挑战&#xff0c;涉及到人工智能数字化大量文件的能力&#xff0c;并使用户可以在这些文件上提出复杂的与数据相关的问题&#xff0c;比如&#xff1a; 数据检索问题&…