Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

matplotlib

loadtxtでcsvから指定した列のデータを読み込む【python3, numpy, matplotlib】

過去記事 coffee-guhaw.hateblo.jp loadtxtでcsvから指定した列のデータを読み込む サンプルコード import numpy as np fname="hoge.csv" a = np.loadtxt(fname, delimiter=",", dtype="unicode", skiprows=1, usecols=[0, 3, 4]) 説明 今回は、いつもやって…

飽和(サチュレーション)した場合の2次元ガウスビームとそのヒストグラム【python3, matplotlib】

スライドで使いたかったので、飽和(サチュレーション)した場合の2次元ガウスビームとそのヒストグラムをchatGPTと相談しながら作りました プロット例 コード例 import numpy as np import matplotlib.pyplot as plt # 2Dガウシアンビーム画像の生成 x = np.l…

飽和(サチュレーション)したガウスビームの形【python3, matplotlib】

以下のようなプロットをネット上で見つけました 確か、光学部品を売ってるサイトだったような・・・?それをそのまま使ってもよかったんですが、chatGPTにその画像と同等のものを作ってもらってみました 結果 コード例 import numpy as np import matplotlib…

【pandas】numpyのデータをDataFrameに整形し直す

pandas.DataFrameの作り方あれこれ #Python - Qiitaここに色々と載ってる個人的にやりやすいな・・・と思ったのは、 import pandas as pd d = {"x": [1, 3], "y": [2, 4]} pd.DataFrame(d) の方法pandas.DataFrame, Seriesを辞書に変換(to_dict) | note.nk…

【pandas】散布図行列(scatter plot matrix)を描きたい

簡単に散布図行列(scatter plot matrix)を描きたい pandas.plotting.scatter_matrix か seaborn.scatterplot か seaborn.pairplot を使うのが楽だと思う自分は後者は何度やってもできなかったので、前者で済ませた おそらくパッケージのversionが古いとかそ…

【python】点線の補助線と領域塗りつぶしをグラフに引きたい場合

点線の補助線 ■ 参考 : 【Python@matplotlib】matplotlib にて横、縦の補助線を描く方法について上の例では fig, ax = plt.subplots(figsize=(5,5)) のようにaxとか書いてるけど、それしなくてもいけるっぽい xdata = np.arange(0, 6.28, 0.1) ydata = np.si…

【matplotlib】でヒストグラム+フィッティングのメモ + ガウス分布でフィット

(2018/07/25 過去記事) ヒストグラムを書く ■ 参考 : [Python]Matplotlibでヒストグラムを描画する方法 フィッティング関連 pythonでのfittingには scipy.optimize.curve_fit を用いる■ 参考 : SciPyフィッティング (fitting) ■ 参考 : scipy.optimize.curve…

【python】matplotlibでtex表記のlabelが表示されなくて困った

(2018/03/19 過去記事)いろんな記事を見てみると、特別なことをしなくてもlabelにtex表記が使えるように書いてあるけどなんでか手元ではうまくいかない・・・matplotlib以外に3次元プロットをするためのmpl_toolkitsも使ってるっぽいけど、 それは原因ではな…

【matplotlib, subplot】複数の図の間の間隔を調整したいとき

図全体の上下左右の隙間を調整 plt.subplots_adjust(top=2) plt.subplots_adjust(bottom=2) plt.subplots_adjust(right=0.5) plt.subplots_adjust(left=0.5) plt.legend(loc=)の指定のときはupperとlowerて書かないといけないのに、ここではtopとbottomなん…

【matplotlib】のhistを使った時のメモ

matplotlib.org from matplotlib import pyplot as plt plt.hist(data) で基本的にOKだと思う 90度回転させたい 1つ前の記事に書いたけど、ように図を回転させたいときは、 ax.hist(np.cos(x), bins=40, alpha=.5, log=True, orientation="horizontal") nump…

【matplotlib, subplot】1枚のプロットサイズを任意に変えたい + 右にヒストグラムを乗せたい

まずは過去記事で、1つのページにプロットを複数並べる方法の復習 subplotで複数枚並べる方法 今回はこっちを使う coffee-guhaw.hateblo.jp subplotsで複数枚並べる方法 今回はこっちは使わない coffee-guhaw.hateblo.jp subplotで1枚のプロットの面積を変え…

【opencv, matplotlib】opencvで読み込んだ画像にカラーバー(colorbar)を追加して画像保存したい

(こんなん簡単だろ、と思ってましたが1~2時間はやってやっとできました・・・ なんで・・・)opencvで画像を読み込むあたりは↓を参照■ 参考 : 【python3, opencv】はじめての画像解析 fig = plt.figure(figsize = [12, 10]) fig.patch.set_facecolor('white')…

【python3, matplotlib】テキストをプロットした点の横に打ちたい + 位置の自動調整

今までやってたのはかなり力技だったデータがxとyというリストに入ってる labelsがそれぞれのサンプル点の横に打ちたいラベルimport matplotlib.pyplot as plt for i, text in enumerate(labels): plt.text(x[i]+4, y[i] +0.2, text, fontsize=25)こんな感じ…

【python3, matplotlib】エラーバー付きのプロット

■ 参考 : matplotlib エラーバー付きのグラフを描くerrorbarという関数を使う xとyにデータを入れて、yerrに縦軸方向のエラーの値を入れる y_minが下側のエラー、y_maxが上側のエラーfrom matplotlib import pyplot as plt plt.figure(figsize=(10,7)) plt.e…

【matplotlib】プロットの軸につけるxticsの桁数を制御したい

X軸の桁数を2桁にしたいとき plt.gca().xaxis.set_major_formatter(plt.FormatStrFormatter('%.2f')) Y軸の桁数を2桁にしたいとき plt.gca().yaxis.set_major_formatter(plt.FormatStrFormatter('%.2f')) ■ 参考 : [Python] matplotlib: 論文用に図の体裁を…

【matplotlib】1度プロットした図にlegendを追加したいとき

■ 過去記事 : matplotlibの凡例(legend)レイアウト関連メモmatplotlibでプロットするときにlabel="aaa"と書いて、ax.legend() みたいにlegend機能をオンにすると 最初から図にlegendを付けられる# ↑のリンクからお借りしたimport matplotlib.pyplot as plt…

【scipy】でSOS形式のIIRフィルターの周波数応答を見たい

IIRフィルターについてはscipyのドキュメントが詳しいのでそちらを一読がおすすめ■ 参考 : Signal Processing with SciPy: Linear Filters(Warren Weckesser)IIRフィルターには3つの表し方の形式がある ・伝達関数 ・zero, pole, gain(ZPK方式) ・second ord…

【matplotlib】軸のメモリ(tics)を一時的に消したい

y軸の場合は、以下のようにすればOK(x軸ならy→xに変える) プロットを書いてから、yticslabelsに空リストを渡せばいいax = plt.gca() ax.set_yticklabels([])■ 過去記事 : [Matplotlib] 目盛と目盛ラベル、目盛線の設定■ 過去記事 : matplotlibで軸を消す ラ…

【matplotlib】1から0に変化する累積分布(cdf)を書く

普通の累積分布はy軸は0から1に向かって増えていく 今回は1から0に向かって減っていく累積分布を書く あと、縦軸を0~1の範囲に収まるように規格化する必要がある import matplotlib.pyplot as plt import numpy as np val1, base1 = np.histogram(input1, bi…

【matplotlib, python3】オプション全集 + プロットのticsやlabelのデフォルトサイズを変更する + 論文で使えそうなフォント

プロットごとに plt.xlabel("frequency [Hz]", fontsize=18) と書くのはめんどくさいので、デフォルトの設定を変更する デフォルトといっても、そのスクリプト内でのみその設定が使われるだけ import matplotlib as mpl mpl.rcParams['xtick.labelsize'] = 1…

【python3, matplotlib】プロットのx軸を日付にしたい + 日付データをcsvから読み込む

まずはcsvから日付の部分を読み込む 日付データは 2022/03/28 というフォーマットになっている これをdatetime型で読み込めば良さそうだけど、他の部分が実数で読み込まないといけないのでこういう実装にしてるデータを読み込んで文字列にする ↓ / を - に置…