Я думаю, что вы создаете больше чем необходимые промежуточные точки сетки с вашим linspace
для вашего графика.
Вы делали:
T = np.linspace(0.01,10000,10000)
rho = np.linspace(0.1,1000000,1000000)
print (len(T)*len(rho))
> 10000000000
, что означает, что вы создавали сетку из 10 миллиардов точек данных.
На самом деле вам нужен logspace
.Нужные точки сетки: 0.01, 0.02, 0.03, ... 0.1, 0.2, 0.3, ...1, 2, 3,... 10, 20, 30, ... 100, 200, 300,...1000, 2000, 3000,...
и т. Д., Поскольку вы находитесь в логарифмической системе координат.Вы можете напечатать T
и rho
сейчас, чтобы понять, что я имею в виду.Для этого вам нужно всего лишь 3402 точек данных .
Таким образом, вы в основном создавали на семь порядков * на 1020 * больше точек данных, чем необходимо.
Вот измененные исходные данные с выходными данными.Вы можете добавить больше уровней, чтобы они отображались сплошными черными линиями
a1 = np.logspace(-2, 4, 7) # Alternative a1 = 10.**(np.arange(-2, 5))
a2 = np.arange(1,10,1)
a3 = np.logspace(-1, 4, 6) # Alternative a3 = 10.**(np.arange(-1, 5))
T = np.outer(a1, a2).flatten()
rho = np.outer(a3, a2).flatten()
X, Y = np.meshgrid(T,rho)
fig = plt.figure(figsize=(8,5.5))
# Your code here
Выход
