python

【matplotlib】株価が更新されていくアニメーションに企業ロゴを足したい

この記事でグラフがどんどん更新されていくアニメーションを作った。 chemstat.hatenablog.com せっかくなのでこれにトヨタのロゴを追加して、株価に連動して動くようにしてみた。 画像をグラフに貼り付けるという作業を始めてやったので結構新鮮でした。 こ…

【matplotlib】グラフが更新されていくアニメーションを作りたい

Xを見ているとこんな感じでどんどんグラフが更新されていくアニメーションがある。これを作りたくなったのでやってみた。 トヨタの株価を取得してアニメーションにしてみました。 実行するにはimagemagickというソフトを入れる必要がありちょっと面倒臭いの…

【matplotlib】グラフの正負によってグラデーションの色を変えたい【python】

この記事を見てたらプラス側とマイナス側で色を変えるというおしゃれなグラデーションをやっていたのでこれを勉強しておきたくなった。 stackoverflow.com 大雑把な解説はこちらを参照ください。 chemstat.hatenablog.com まずはコード全体。 import numpy a…

【matplotlib】グラデーションカラーマップの作成方法【python】

matplotlibにはcolormapが用意されているが、せっかくなので自分で作成したくなった。色をRGBA形式に変換すると足し算引き算が出来るので、それをプロットするといいらしい。 試すとこんな感じ。ちょっとした色の調整には便利です。赤→白→青みたいな変化をす…

【メモ】matplotlibに用意されているカラーマップ

chemstat.hatenablog.com この記事でグラデーションのグラフ作成かっこいいなと思い始めたため、matplotlibに用意されているカラーマップを知りたくなりました。そんなわけでChatGPTに出力してもらいました。 いつでも調べれば見つかるのだけど、自分のブロ…

【matplotlib】imshowとPathを使ってグラフをグラデーションで塗りつぶしたい【python】

この記事でグラフをグラデーションにするやり方を調べましたが、その時はfill_between関数を使って細切れに塗りつぶす方法でした。ただこのやり方だとx方向にしか色分けできず、もうちょっと自由に設定できるものはないかと調べたところimshowを使うパターン…

【matplotlib】波長に応じて色を変えたグラデーションで塗りつぶしたい【python】

この記事でグラフの領域をグラデーションにする方法を調べたのですが、その応用としてUV-Visスペクトルを波長に応じた色で塗りつぶしたくなった。 chemstat.hatenablog.com 波長をRGBに変換する方法を調べたらこちらに欲しいコードがあったので拝借しました…

【matplotlib】グラフの範囲をグラデーションで塗りつぶしたい【python】

以前グラフの線をグラデーションにしたい、という記事を書いた。今回は領域をグラデーションで塗りつぶしたくなった。 結局fill_betweenをfor文で繰り返して塗りつぶすのがいいらしい。ただこれだとx方向のグラデーションしかできないのでy方向や斜めはもう…

【matplotlib】ウォーターフォールチャートを作りたい【python】

最近キャッシュフロー計算書を眺めていて、各社のキャッシュフローをウォーターフォールチャートで作りたくなった。 またも非常に長いコードになったが一応求めていた仕上がりにはなったと思う。 これを作るために2週間くらいかかってしまった・・・。これで…

【matplotlib】x軸ラベルのサイズを個別に設定したい【python】

x軸のラベルを、ラベルごとにサイズを変えたくなった。 xticklabelsを変数で指定しておいて、後からfor文で呼び出してサイズをひとつずつ指定するのがいい模様。リストでまとめて指定できるのかと思ってたのですが無理そうです。 import matplotlib.pyplot a…

【matplotlib】x軸ラベルを二段にしたい【python】

x軸のラベルを二段にしたくなった。調べてみたところ、軸ラベル用の座標を細かく設定し、x軸ラベルに「\n」を入れて下に下げるというやり方が出てきた。 若干スマートではない気もするが一旦これで解決。 textで足すという方法もあるみたい。 import numpy a…

【matplotlib】数字がプラスなら青、マイナスなら赤の棒グラフを描きたい【python】

会計関連のグラフを作るときに、プラスとマイナスで色を変えたくなった。 どうやるのかと思って調べてみたところ、それ用のリストを作成するのがいいらしい。 import matplotlib.pyplot as plt # データの例 values = [3, 2, -2.3, 1.2, -0.4] labels = ['A'…

【matplotlib】凡例を二つに分割したい【python】

一つのグラフに複数のデータを描画したとき、凡例(legend)の表示をデータごとに分けたくなった。 get_legend_landles_labels()という関数が用意されていて、handleとlabelを取得できる。ちなみにhandleとlabelというのはこれ。 hans, labs = ax1.get_legend_…

【matplotlib】凡例のラベルとマーカー・ハンドルの位置を入れ替えたい【python】

グラフの凡例(legend)を表示すると、大体マーカー・ハンドルが左、ラベルが右という配置になる。これを入れ替えたくなった。 調べてみるとmarkerfirstという引数があり、これをFalseにすると左右が逆転する。 なるほど確かに逆転した。 import numpy as np i…

【matplotlib】バランスシートを作りたい【python】

企業の財務状況と言えばバランスシート。これを何とかしてpythonで描けないかと色々頑張ってみた。 色々頑張った甲斐あって、かなりpythonっぽくないグラフが出来たのではないかと思う。コードはいつにも増して長くなってしまったので必要なところだけ抜き出…

【matplotlib】軸ラベルを縦書きにしたい【python】

グラフを書くときに、スペースの関係で軸ラベルを縦書きにしたくなった。 色々調べたのでメモしておく。 まず普通にグラフを書くとこんな感じになる。 import numpy as np import matplotlib.pyplot as plt import japanize_matplotlib y = np.array([1, 2, …

【matplotlib】軸ラベルの位置を微調整したい【python】

グラフを書くときに、x軸ラベルの位置を微調整したくなった。 set_xlabelでx軸の設定を変更する際に、locという引数があり、left,center,rightを指定することで、大雑把には位置を調整できる。 ちなみにy軸であればset_ylabelでbottom, center, topで変更で…

【matplotlib】(縦棒グラフ+散布図)Excelで作るようなデザインのグラフを作りたい【python】

pythonでグラフを作るとき、自分好みのデザインにするのにいつも苦労する。 seabornもおしゃれでいいのだけど、みんなが使いすぎていてpython感が出すぎるので、Excelで作ったみたいなデザインにするにはどうするかを頑張ってみた。 今後自分のメモ用にいく…

【matplotlib】(横棒グラフ+散布図その2)Excelで作るようなデザインのグラフを作りたい【python】

pythonでグラフを作るとき、自分好みのデザインにするのにいつも苦労する。 seabornもおしゃれでいいのだけど、みんなが使いすぎていてpython感が出すぎるので、Excelで作ったみたいなデザインにするにはどうするかを頑張ってみた。 今後自分のメモ用にいく…

【matplotlib】x軸ラベルを上側に移動したい(y軸を右側もあるよ)【python】

グラフを書くときに、基本的にx軸は下、y軸は左に表示される。 このx軸を上側に表示したくなったので調べてみた。 import matplotlib.pyplot as plt y = np.array([1, 2, 3, 4]) fig = plt.figure(figsize=(4, 4)) ax1 = fig.add_subplot(111) ax1.bar(y, y)…

【matplotlib】(横棒グラフ+散布図)Excelで作るようなデザインのグラフを作りたい【python】

pythonでグラフを作るとき、自分好みのデザインにするのにいつも苦労する。 seabornもおしゃれでいいのだけど、みんなが使いすぎていてpython感が出すぎるので、Excelで作ったみたいなデザインにするにはどうするかを頑張ってみた。 今後自分のメモ用にいく…

【matplotlib】(横棒グラフ)Excelで作るようなデザインのグラフを作りたい【python】

pythonでグラフを作るとき、自分好みのデザインにするのにいつも苦労する。 seabornもおしゃれでいいのだけど、みんなが使いすぎていてpython感が出すぎるので、Excelで作ったみたいなデザインにするにはどうするかを頑張ってみた。 今後自分のメモ用にいく…

【matplotlib】横棒グラフの上下のスペースを調整したい【python】

横棒グラフの幅を短くすると、上下のスペースが詰まりすぎている気がしてきた。 import numpy as np import matplotlib.pyplot as plt #データ data = np.array([1, 2, 3, 4])#棒グラフのデータ subjects = np.array(["A", "B", "C", "D"]) bar_height = 0.5…

【matplotlib】(縦棒+折れ線グラフ)Excelで作るようなデザインのグラフを作りたい【python】

pythonでグラフを作るとき、自分好みのデザインにするのにいつも苦労する。 seabornもおしゃれでいいのだけど、みんなが使いすぎていてpython感が出すぎるので、Excelで作ったみたいなデザインにするにはどうするかを頑張ってみた。 今後自分のメモ用にいく…

【matplotlib】グラフの目盛線を消したい【python】

pythonでプロットをすると、グラフの目盛線がついてくる。 この目盛線を消したくなった。 import matplotlib.pyplot as plt y = np.array([1, 2, 3, 4]) fig = plt.figure(figsize=(4, 4))ax1 = fig.add_subplot(111)ax1.bar(y, y) plt.show() 数字の隣に必…

【Gpy】pythonのGpyを使って線形重回帰分析の信頼区間を計算する【chatGPTメモ】

Gpyで線形重回帰をやろうとおもうとこうなる。 x1とx2とXという行列にまとめるくらいで単回帰とほとんど変わらない内容で実行可能。 import numpy as np import GPy import matplotlib.pyplot as plt # データ x1 = np.array([1, 2, 3, 4, 5]) x2 = np.array…

【Gpy】pythonのGpyを使って線形回帰分析の信頼区間を計算する【chatGPTメモ】

引き続きガウス過程回帰(GPR)を勉強中。今回はGpy版。最近はとりあえずchatGPTに投げて、その中身を調べて勉強してます。 kernelをGPy.kern.Linearとすることで線形モデルに近くなるらしい。 import numpy as np import GPy import matplotlib.pyplot as p…

【python】sklearnのGaussianProcessRegressorを使って線形重回帰モデルの信頼区間を計算する【chatGPTメモ】

線形重回帰モデルでGPRをして信頼区間を出すのがこちら。 import numpy as np from sklearn.gaussian_process import GaussianProcessRegressor from sklearn.gaussian_process.kernels import DotProduct, WhiteKernel # データの定義 x = np.array([1, 2, …

【python】sklearnのGaussianProcessRegressorを使って線形回帰分析の信頼区間を計算する【chatGPTメモ】

ガウス過程回帰(GPR)を使いたくなったので、とりあえず一番簡単なデータのデータで回帰分析と信頼区間を出す方法を聞いてみた。 ここからもうちょっと勉強します。 カーネルはDotProduct()とWhiteKernel()を使うといいらしい。 import numpy as np from sk…

【cmdstanpy】学習後のモデルを使って新しく予測値を生成する【generate_quantities】

Stanでベイズ推定を使ってモデルを学習させた後に、学習後のモデルを使って新しく予測値とその信頼区間を生成したいと思った。 cmdstanpyを色々と調べたところgenerate_quantitiesという関数が用意されているらしい。 今回は単回帰分析をした後に新たに予測…