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

server/2024/9/24 17:17:19/

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

编写  test_diff_2_area.py  如下

python"># -*- coding: utf-8 -*-
""" 画由两条抛物线: y=sqrt(x) , y=x^2 所围成的图形的面积 """
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygondef 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.ppmy.cn/server/101908.html

相关文章

【学习笔记】Day 12

一、进度概述 1、《地震勘探原理》第五章 二、详情 个人感觉第五,六,八章的解释更倾向于地质学那边负责的,但是多了解相关原理,肯定是有利于 DL-FWI 的相关研究的,所以这里只是做一个粗略的归纳,相关内容详…

Linux之/etc/motd文件

/etc/motd文件在Linux系统中扮演着重要的角色,它是“Message of the Day”的缩写,即“每日消息”或“今日布告栏信息”。以下是关于/etc/motd文件的详细解释: 一、文件作用 显示欢迎信息:每次用户登录时,/etc/motd文…

【Delphi】中多显示器操作基本知识点

提要: 目前随着计算机的发展,4K显示器已经逐步在普及,笔记本的显示器分辨率也都已经超过2K,多显示器更是普及速度很快。本文介绍下Delphi中操作多显示器的基本知识点(Windows系统),这些知识点在…

list使用及底层模拟实现

目录 一.list的使用 排序sort 去重unique remove按值删除 remove_if splice merge合并 二.模拟实现 1.成员变量及节点的实现 2.普通迭代器 成员变量 解引用operator* operator-> 前置和前置-- 后置和后置-- 等于与不等于重载 begin()迭代器 end()迭代器 3.co…

spring框架中Spring Validation的注解校验

在进行业务分析时发现当前业务所有的属性都应当有值,因此在设置数据库中的表结构时,也设置了所有属性都是必填。属性又比较多,如果通过一个个的if判断会显得代码比较多,因此考虑到使用注解进行校验属性是否为空。 常见属性上的校验…

第18 章探讨 C++新标准.可变参数模板,模板和函数参数包,展开参数包

第18 章探讨 C新标准.可变参数模板,模板和函数参数包,展开参数包 第18 章探讨 C新标准.可变参数模板,模板和函数参数包,展开参数包 文章目录 第18 章探讨 C新标准.可变参数模板,模板和函数参数包,展开参数包18.6 可变参数模板18.6.1 模板和函数参数包18.6.2 展开参数包18.6.3 …

uniapp 微信小程序生成水印图片

效果 源码 <template><view style"overflow: hidden;"><camera device-position"back" flash"auto" class"camera"><cover-view class"text-white padding water-mark"><cover-view class"…

Python基础知识学习总结(一)

一. 简介 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&#xff0c;相比其他语言经常使用英文关键字&#xff0c;其他语言的一些标点符号&#xff0c;它具有比其他语言更有特色语法结构。 Python 是一种解释型语…