【发布时间】:2018-09-19 00:12:20
【问题描述】:
我正在尝试重现以下情节:
我正在使用两个变量的函数:skin_depth(T,rho)。
所以我决定使用meshgrid 并使用contourlines 进行绘图。
问题是它只适用于T 和rho 的一小部分。
当我尝试像上图那样使用 x 和 y 轴的范围时,
出现以下错误信息:
MemoryError Traceback(最近调用 最后)在() 1 T = np.linspace(0.01,10000,10000) 2 rho = np.linspace(0.1,100000,1000000) ----> 3 X, Y = np.meshgrid(T,rho)
C:\Users\paula\Anaconda2\lib\site-packages\numpy\lib\function_base.pyc 在 meshgrid(*xi, **kwargs) 4696 4697 if copy_: -> 4698 输出 = [x.copy() for x in output] 4699 4700 返回输出
内存错误:
有谁知道避免它的方法吗? 下面是我的代码。
import numpy as np
import matplotlib.pyplot as plt
T = np.linspace(0.01,100,10000)
rho = np.linspace(0.1,1000,10000)
X, Y = np.meshgrid(T,rho)
skin_depth = 500*(np.sqrt(Y*X))
levels=np.array([10,20,30,40,50,60,70,80,90,100,200,300,400,500,600,700,800])
fig = plt.figure(figsize=(10,10))
CS = plt.contour(X,Y,skin_depth, levels, colors='k')
plt.clabel(CS, fontsize=9, inline=1, inlinespacing=1, fmt='%1.f')
plt.grid(True,which="both",ls="-")
plt.title('Skin Depth (m)')
plt.xlabel('Period [T(s)] ')
plt.ylabel('Resistivity [rho(ohm.m)]')
plt.xscale('log')
plt.yscale('log')
plt.show()
【问题讨论】:
-
我可以很好地运行,我建议尽可能减少你的网格?检查您何时运行您的系统内存使用情况
标签: python matplotlib plot