Matplotlib部分习题

本文通过三个具体的数学实验,展示了如何使用Python中的NumPy、SciPy及Matplotlib等库进行数据处理与可视化。实验包括了函数绘图、线性回归估计及Gamma分布的模拟与密度估计。
部署运行你感兴趣的模型镜像

题目11.1

代码:

from scipy import linalg
import numpy as np
from matplotlib import pyplot
#11.1
X = np.arange(0, 2.05, 0.05)
Y = np.sin((X - 2) * np.exp(-X ** 2)) ** 2
pyplot.plot(X, Y)
pyplot.title("#11.1")
pyplot.xlabel("x")
pyplot.ylabel("f (x)")
pyplot.axis([0, 2, 0, 1])
pyplot.show()

结果截图:

题目11.2:

代码:

from scipy import linalg
import numpy as np
from matplotlib import pyplot
#11.2
X = np.random.randint(-10, 10, 220).reshape(20, 11)
X[:, 0] = 1
b = np.random.randint(-5, 5, 11).reshape(11, 1)
while 0 in b:
    b = np.random.randint(-5, 5, 11).reshape(11, 1)
z = np.random.normal(size = 20).reshape(20, 1)
Y = np.dot(X, b) + z
assume_b = np.dot(np.dot(np.linalg.inv(np.dot(X.T, X)), X.T), Y)
pyplot.plot(b, 'ro', assume_b, 'bx')
pyplot.legend(['True', 'Estimate'])
pyplot.show()

输出截图:

题目11.3:

代码:

from scipy import stats
import numpy as np
from matplotlib import pyplot

#11.3
a = 4
x = sorted(stats.gamma.rvs(a, size=1000))
pyplot.hist(x, bins=25, density=True)
kernel = stats.gaussian_kde(x)
pyplot.plot(x, kernel.pdf(x))
pyplot.show()

输出截图:

 

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### Python Matplotlib习题与教程 以下是有关 Python Matplotlib 的一些练习题和教程资源,帮助用户更好地掌握该工具。 #### 基础绘图入门 对于初学者来说,可以参考基础绘图的内容[^1]。这通常涉及简单的线条绘制、散点图以及基本的图形属性设置。例如: ```python import matplotlib.pyplot as plt # 创建数据 x = [1, 2, 3, 4, 5] y = [1, 4, 9, 16, 25] # 绘制折线图 plt.plot(x, y, label="Line", color='blue', marker='o') # 添加标题和标签 plt.title("Basic Line Plot") plt.xlabel("X-axis Label") plt.ylabel("Y-axis Label") # 显示图例 plt.legend() # 展示图像 plt.show() ``` 此代码片段展示了一个简单的一维数组之间的关系,并通过 `plot` 函数实现可视化[^4]。 #### 高级功能探索 如果想进一步学习高级功能,则可尝试使用补丁 (patches) 和路径 (path),这些模块允许创建自定义形状并对其进行变换处理[^2]。下面是一个具体实例: ```python import matplotlib.pyplot as plt from matplotlib.patches import Circle, PathPatch from matplotlib.path import Path import numpy as np fig, ax = plt.subplots() circle = Circle((0.5, 0.5), 0.2, edgecolor='black', facecolor='none') ax.add_patch(circle) vertices = [(0.2, 0.8), (0.8, 0.8), (0.5, 0.2)] codes = [Path.MOVETO, Path.LINETO, Path.CLOSEPOLY] path = Path(vertices, codes) patch = PathPatch(path, fill=False, lw=2, transform=ax.transData) ax.add_patch(patch) ax.set_xlim(0, 1) ax.set_ylim(0, 1) plt.axis('equal') plt.show() ``` 上述脚本演示了如何利用路径对象构建多边形区域,并将其添加到坐标轴上显示出来。 #### 动画制作实践 动画也是 Matplotlib 中非常有趣的一部分[^3]。这里提供一段用于生成动态更新图表的小程序作为示范: ```python import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation def update(frame): line.set_ydata(np.sin(x + frame / 10)) return line, fig, ax = plt.subplots() x = np.linspace(0, 2 * np.pi, 100) line, = ax.plot(x, np.sin(x)) ani = animation.FuncAnimation(fig, update, frames=np.arange(0, 20, 0.1), blit=True) plt.show() ``` 这段代码实现了正弦波随时间变化的效果,其中每一帧都调用了回调函数来重新计算曲线上的点位置。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值