2017-02-16 19 views
0

Я пытаюсь найти набор параметров для подгонки некоторых данных. Я хочу иметь возможность изменять параметры и строить график всех графиков на одном графике. Это простой примерный код.Как построить множество наборов данных, изменив параметры на одном участке в Python?

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) 

Теперь я могу построить массив2 против array1. Но я хочу теперь изменить параметры vel и r и рассчитать все эти сюжеты на одном участке. Например, я хочу изменить его на r = 3, а затем изменить значение vel от 1 до 10 и отобразить все 10 из этих графиков. Затем измените его на r = 4 и измените значение vel от 1 до 10 и нарисуйте все 10 из них и так далее вплоть до r = 10.

Каков наиболее эффективный способ сделать это?

ответ

1

Thats, вероятно, слишком много линий. Вероятно, вы можете получить такое же представление от гораздо меньшего подмножества. Но это будет делать то, что вы просили.

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() 

 Смежные вопросы

  • Нет связанных вопросов^_^