首页 > 解决方案 > 如何使用 matplotlib 绘制参数区域?

问题描述

例如:如果我要画x= cos(t), y=sin(t) t=0..2pi

x=cos(linspace(0,2*pi,100))
y=sin(linspace(0,2*pi,100))
plot(x,y)

但如果我想绘制

x= r*cos(t), y=r* sin(t) t=0..2pi , r=0..3

怎么做?

我想要的是这个:

在此处输入图像描述

由于有两个变量:t 和 r,所以图形是阴影而不是曲线。现在我像这样绘制它:

from pylab import *
t = linspace(0, 3, 100)

for r in linspace(0, 2*pi, 100):
    x = r*sin(t)
    y = r*cos(t)
    plot(x, y)
show()

我必须写一个循环来绘制每条曲线,我觉得这不是那么优雅。

也许这是绘制它的唯一方法?

标签: pythonmatplotlib

解决方案


只需使用一个for循环:

import matplotlib.pyplot as plt
import numpy as np

plt.figure(figsize=(9, 3))

axes1 = plt.subplot()

t = np.linspace(0, 2*np.pi, 100)

for r in range(1, 3):
    x = r * np.cos(t)
    y = r * np.sin(t)
    axes1.plot(x, y)

plt.tight_layout()
plt.show()

在此处输入图像描述

您还可以在range函数中定义从开始到停止的步骤(默认为 1)。->范围(开始,停止 [,步骤])

注意: range(start, stop)将在 [start, stop) 中生成数字。


推荐阅读