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

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

《高等数学》同济大学版 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 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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Vue 3 深入指南:`watch` 属性监控与响应式处理
  • 深入理解java web分层架构的高内聚低耦合
  • 力扣热题100_二分查找_74_搜索二维矩阵
  • WPF学习(8) --Windows API函数的使用
  • SSM环保知识普及平台—计算机毕业设计源码20330
  • JavaScript AI 编程助手
  • 回顾 | 瑞云科技亮相ICIC2024,虚拟仿真实训云平台引关注
  • 下载文件--后端返回文件数据,前端怎么下载呢
  • 论文阅读笔记:The Graph Neural Network Model
  • 微信小程序电话号码授权
  • 机器学习第十一章-特征选择与稀疏学习
  • Vue3.0生命周期钩子(包含:Vue 2.0 和 Vue 3.0)
  • JavaEE 的相关知识点(一)
  • [000-002-01].数据库调优相关学习
  • python提取b站视频的音频(提供源码
  • SegmentFault for Android 3.0 发布
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • css属性的继承、初识值、计算值、当前值、应用值
  • JavaScript 基本功--面试宝典
  • JDK 6和JDK 7中的substring()方法
  • js
  • python 装饰器(一)
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 深入浅出Node.js
  • 我有几个粽子,和一个故事
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 回归生活:清理微信公众号
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #每日一题合集#牛客JZ23-JZ33
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (2020)Java后端开发----(面试题和笔试题)
  • (7)svelte 教程: Props(属性)
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C语言)逆序输出字符串
  • (Java)【深基9.例1】选举学生会
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。
  • (七)理解angular中的module和injector,即依赖注入
  • (已解决)什么是vue导航守卫
  • (转)平衡树
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET中统一的存储过程调用方法(收藏)
  • .sdf和.msp文件读取
  • 。Net下Windows服务程序开发疑惑
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • @Pointcut 使用
  • @RestController注解的使用
  • @vue/cli脚手架