如何通过在Python中的一个图上更改参数来绘制许多数据集?

时间:2017-02-16 22:52:50

标签: python loops numpy matplotlib parameters

我正在尝试找到一组适合某些数据的参数。我希望能够更改参数并在一个图上绘制所有图形。这是一些简单的示例代码。

import numpy as np
import matplotlib.pyplot as plt

vel=10
r=2
array1=np.linspace(1,100,100)
array2=(array1**2)/(r*vel**2)

现在我可以绘制array2 vs array1。但是我想现在改变我的vel和r参数并在一个图上绘制所有这些图。例如,我想将其更改为r = 3,然后从1-10改变vel并绘制所有10个图。然后将其改为r = 4并从1-10变化,并绘制所有10个,依此类推到r = 10。

最有效的方法是什么?

1 个答案:

答案 0 :(得分:1)

这可能太多了。您可能从更小的子集中获得相同的洞察力。但这会做你所要求的。

fig, ax = plt.subplots()
arr1 = np.linspace(1, 100, 100)
for r in range(2, 11):
    for vel in range(1, 11):
        arr2 = (arr1 ** 2) / (r * vel ** 2)
        ax.plot(arr1, arr2)
plt.show()

您可以使用以下更少的行获得相同的想法:

fig, ax = plt.subplots()
arr1 = np.linspace(1, 100, 100)
for r in range(2, 11, 3):
    for vel in range(1, 11, 5):
        arr2 = (arr1 ** 2) / (r * vel ** 2)
        ax.plot(arr1, arr2)
plt.show()