質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

Pythonでの関数フィッティングでエラーは出ないのに結果が出力されない

mappys
mappys

総合スコア101

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1回答

0評価

0クリップ

169閲覧

投稿2022/01/23 15:02

[リンク内容]Pythonでピークフィッテイング
(url)https://qiita.com/kon2/items/6498e66af55949b41a99

こちらのサイトと全く同じコードと、全く同じサンプルファイルを用意して実行したのですが、何故かエラーは出ないのに結果が出力されません。

何か原因が分かる方いらっしゃいますでしょうか。

コードはサイトと全く同じですが一応以下に書いておきます。

python

%matplotlib inline from scipy.optimize import curve_fit import numpy as np import matplotlib.pyplot as plt import matplotlib.cm as cm import pandas as pd dataset = pd.read_csv('sample.csv') x = dataset['x'] y = dataset['y'] def fit_plot(x, *params): num_func = int(len(params)/3) y_list = [] for i in range(num_func): y = np.zeros_like(x) param_range = list(range(3*i,3*(i+1),1)) amp = params[int(param_range[0])] ctr = params[int(param_range[1])] wid = params[int(param_range[2])] y = y + amp * np.exp( -((x - ctr)/wid)**2) + params[-1] y_list.append(y) return y_list #初期値リストの結合 guess_total = [] for i in guess: guess_total.extend(i) guess_total.append(background) popt, pcov = curve_fit(func, x, y, p0=guess_total) fit = func(x, *popt) plt.scatter(x, y, s=20) plt.plot(x, fit , ls='-', c='black', lw=1) y_list = fit_plot(x, *popt) baseline = np.zeros_like(x) + popt[-1] for n,i in enumerate(y_list): plt.fill_between(x, i, baseline, facecolor=cm.rainbow(n/len(y_list)), alpha=0.6)

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

melian

2022/01/23 15:23

最後に plt.show() を追加する必要があるのではないでしょうか。
mappys

2022/01/24 03:16

回答ありがとうございます。plt.show()を追加しても結果が出力されませんでした。 この問題は解決していませんが、gnuplotを使ってグラフを作成する方法に変えようと思うので回答は閉めようと思います。 ありがとうございました。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。