私は、Matplotlibを使って、energy()で定義された関数に続く行を持つプロットにいくつかの点をプロットしようとしています。ポイントはプラズマパラメータであり、ラインはデバイ長さの複数の値を使用してそれらを接続する関数に従います。MatplotlibとNumpy:高次数のログプロット
import matplotlib.pyplot as plt
import numpy as np
n_pts = [10**21,10**19,10**23,10**11,10**15,10**14,10**17,10**6]
KT_pts = [10000,100,1000,0.05,2,0.1,0.2,0.01]
n_set = np.logspace(6,25)
debye_set = 7.43*np.logspace(-1,-7,10)
def energy(n,debye):
return n*(debye/7430)**2
fig,ax=plt.subplots()
ax.scatter(n_pts,KT_pts)
for debye in debye_set:
ax.loglog(n_set,energy(n_set,debye))
plt.show()
これは、次のエラーを与える:
AttributeError: 'int' object has no attribute 'log'
あなたはPythonのエラーを報告するたびに、必ず*完全な*エラーメッセージ(すなわち完全なトレースバック)が含まれます。これには、エラーを引き起こした行などの有用な情報が含まれています。 –
あなたのコードはうまく動作します。エラーはありません。 – saintsfan342000
MacでPython 3.6を使ってもうまく動作します – bikemule