Pythonを用いて両対数グラフ上で近似曲線を作る方法を教えてください
解決したいこと
Pythonを用いて両対数グラフで近似曲線を作ろうとしているのですが、作り方が分からず困っております。出来ればNumpyとMatplotlibのみで作りたいと考えております。
発生している問題・エラー
文法的なエラーは無いようですが、思った通りの直線が引けなくて困っております。
#回帰直線の所をどういじれば良いかが分からないです。
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
x = np.array([3.00, 2.50, 2.00, 1.50, 1.00, 0.50])
y = np.array([185, 162, 139, 115, 86, 51])
log_x = [np.log10(i) for i in x]
log_y = [np.log10(i) for i in y]
plt.xscale("log")
plt.yscale("log")
plt.xlim([x.min(),x.max()])
plt.scatter(x, y, color = 'black', marker='s')
# 回帰直線
linear = np.polyfit(log_x, y, 1)
y_linear = [linear[0] * x_linear + linear[1] for x_linear in log_x]
plt.plot(x, y_linear)
print('傾き:', linear[0])
#傾き: 17.696025465382565
print('切片:', linear[1])
#切片: 17.290544163649848
plt.xlabel('H/mm')
plt.ylabel('Q/mm')
plt.grid()
plt.show()
自分で試したこと
全く分からず何もできておりません。初めての質問なので至らない部分もあるかと思いますが、教えていただけますとありがたいです。
0