我正在尝试找到一组适合某些数据的参数。我希望能够更改参数并在一个图上绘制所有图形。这是一些简单的示例代码。
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。
最有效的方法是什么?
答案 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()