グラフ化

Python クラス数を指定して分類するクラスター分析「k-means」

'22/07/02更新:クラスタリング前の散布図を冒頭に追加 本記事では、クラス数を指定してクラスター分析(クラスタリング)する雛形コードを載せました。分析結果は、グラフ化してcsvファイルに出力する仕様です。 例題データには、siciki-learnにあるワイン…

Python カテゴリ別にプロットする散布図を作成する(カテゴリデータが行方向に塊りである場合)「plt.scatter」

'21/05/26更新:コードの可読性を多少良くしました。 本記事では、例えば、下図のように「t=1, t=2, t=3」をカテゴリとした散布図を作成する雛形コードを載せました。 本プログラムの仕様について説明します。下図のようなcsvファイルがあって、Time_1, Time…

Python Y軸の列名を指定して散布図の作成「sns.pairplot」。更にY軸の範囲を設定する

'21/12/17更新:カテゴリの識別を色でなくて、マーカーでする場合の雛形コードを追記しました。 本記事では、下図のような散布図を作成する雛形コードを載せました。seabornのpairplotを用います。 Y軸の列名を指定するには下記のようにします。 y_vars = 'P…

Python 行列散布図の作成「seaborn」

'22/02/19更新:図中の上にタイトルを記載するコードを追記しました。 本記事では、下図のような行列散布図を作成して、画像ファイルに保存する雛形コードを載せました。 ちなみに、上図のデータは、機械学習の分類で有名なアイリスデータセットです。seabor…

Python 3Dグラフを回転する。さらに各画像や動画で保存する方法「matplotlib×OpenCV」

本記事では、matplotlibで作成した3Dグラフを回転して表示する方法と、それらを画像(png, jpg)や動画(mp4)で保存する雛形コードを載せました。 ■本プログラムの仕様三次元にプロットするデータは何でも構いませんが、ここでは下表のような4点としました。 x …

Python ひとつのcsvからX軸と「Y軸にしたい複数列」を指定して、ひとつの散布図を作成する

'22/05/03更新:コマンドライン向け、JupyterLab向けの雛形コードを載せました。 本記事では、下図のような散布図を作成するコードを載せました。フォントサイズ、散布図、折れ線図、ラベル、タイトル、凡例の指定ができて、jpgファイルに保存する仕様です。…

Python 複数のcsvからX,Y軸にしたい列名を指定して、ひとつの散布図を作成する

'21/06/15更新:グラフ化のオプション設定をいくつか追記しました。 複数のcsvファイルから下図のような散布図一枚を作成する雛形コードを載せました。 下図は、csvファイルの例です。一行目がヘッダーでなくても、データ開始行が2行目でなくても、pandasだ…

Python 多目的最適化「Optuna」

'21/03/03更新:浮動小数点以外の型の場合の制約条件「カテゴリ変数、整数、対数、離散値」の設定例を追記しました。 本記事では、Optunaを使った多目的最適化の雛形コードを載せました。 Optunaは、オープンソースの機械学習モデルのハイパーパラメータを自…

Python 新型コロナのcsvファイルを題材にデータ処理とグラフ化する「pandas」

本記事では、新型コロナに関する厚生労働省のHP (オープンデータ|厚生労働省)から入手できるcsvデータを例にpandasでデータを扱う雛形コードを載せました。Pythonでcsvなどのテキストファイルを扱うには十中八九pandas(パンダス)を利用することになります…

Python ピボットテーブルによるクロス集計。また、時系列データをグラフ化する「pandas」

pandasのpivot_tableで比較的簡単に処理できます。本記事では、データ処理の例として、愛知県の次のリンク先https://www.pref.aichi.jp/site/covid19-aichi/の中程にある新型コロナの「愛知県内の発生事例」のPDFファイル「8月まで [PDFファイル/357KB]」を…

Python 格子点(グリッド)を線形補完して等高線図を作成する「scipy.interpolate.griddata」

'22/03/24更新:等高線の数を指定数に、等間隔に自動分割する機能を追加。 等高線図を作成するためのcsvファイルを準備します。実験データやシミュレーションデータを想定しています。下図はそのcsvファイルの例で、少なくともx,y,zの3列が必要です。グラフ…

Python モンテカルロシミュレーションにより円周率π=3.14を導く

モンテカルロ法とは乱数を用いて行うシミュレーションの手法のことです。本記事の内容は、ググったら出てくるような内容をPythonを用いて実行できる雛形コードを載せました。本コードの特徴は次の2つです。1. 乱数を一様乱数の場合と、正規乱数の場合で実行…

Python グラフに横線(縦線)とテキストを挿入する方法「matplotlib」

'22/05/03更新:コードに冗長な箇所があったのを若干短くした。 本記事では、散布図や折れ線図等で判断基準線が視覚的にわかるグラフを作成する雛形コードを載せました。下図のように、グラフ中に1. 赤色の横点線を入れ、2. 「判断基準1000以上」等とテキス…

Python グラフのy範囲を最小値0、最大値は自動設定にする方法「matplotlib」

デフォルト設定でグラフを作成すると、軸の最小、最大の範囲は自動で設定されます。例えば、下図のように縦軸yの最小値が0にならない場合が普通です。これは、散布図や棒グラフ等で何かしら比較したい場合に、一見大きな差があるかのようなグラフの仕上がり…

Python 株価データの欠損値をその前後の値で補完後、単純移動平均を算出する「pandas」

'20/05/16更新:移動平均計算を2つ→3つに増やし、計算によって生じた欠損値の行を削除してcsvファイルに出力する仕様に更新した。 本記事では、下図のような単純移動平均のグラフと、そのデータをcsvファイルで保存する雛形コードを載せています。 ●株価デー…

Python 株価を取得するAPI「yahoo_finance_api2」

本記事では例えば、下図のように1年分の株価データをダウンロードして、グラフ化とcsvファイル化するコードの雛形を記載しました。 ライブラリのインストールは下記のようにpipで行います。 pip install yahoo_finance_api2 ■本プログラム #!/usr/bin/env py…

Python pdfファイル内の表を読み取る「camelot」

本記事では、下図のようなpdfファイル中に表がある場合に適用する。下図例は愛知県内の感染者・遺伝子検査件数 - 愛知県よりダウンロードできる('20/04/22現在)。 表を抽出するに必要なライブラリ「camelot」は下記のようにpipでインストールします。 $ pi…

Python matplotlibで点を動かすアニメーションを作成し、gifもしくはmp4で動画保存する

'20/07/26更新:gifだけでなくmp4でも動画保存できるようにしました。またfpsも指定できます。 アニメーション作成には、matplotlib.animationを使用します。動画保存にはgifの場合はimagemagick、mp4の場合はffmpegを使用します。 ■本プログラム import num…

Python グラフ化/複数列抽出/列計算/列方向連結/列方向ソートする方法「pandas」

本記事に記載してるコードの仕様説明をします。下図のようなcsvファイルがある。 aaa,bbb,y,x,ccc 0.01,1,100,1,10 0.025,2,40,2.5,9 0.05,3,20,5,8 0.075,4,13.33333333,7.5,7 0.1,5,10,10,6 0.2,6,5,20,5 0.3,7,3.333333333,30,4 0.4,8,2.5,40,3 0.5,9,2,5…

Python 近似式を作成してグラフに記入する方法「Numpy×SciPy」

'21/10/04更新:汎用性を高めるため、関数の引数を変更しました。3つの引数は順に、pandas DataFrame, X軸に指定する列名, Y軸に指定する列名です。 本記事では、下図3つのような近似式を作成する雛形コードを載せました。scipyのoptimize.curve_fitを利用し…

Python 複数列を指定して、2軸の散布図を作成する「Matplotlib」

'22/05/03更新:コードを簡潔に見直しました。 本記事では、2軸プロットの散布図を作成する雛形コードを載せました。例えば、下表のような複数列のcsvデータがあったとします。x軸に列名「time」, Y軸の第一軸に列名「linear」, Y軸の第二軸に列名「log」を…

Python 二変数関数の等高線図、3D図を描画する方法

'20/08/10更新:記事とコードを若干編集しました。 本記事では、2つの方法について雛形コードを載せました。■1. numpyのndarray型の「二重配列」でデータセットしてグラフ化する方法二変数関数について、等高線図と三次元図を描画した例が下図5つです。 ■2. …

Python 「matplotlib」や「seaborn」のグラフ内で日本語表示する

# '20/01/31更新:多少見易く書き直しました。 1⃣日本語フォントをpipでインストールする pip install japanize-matplotlib 2⃣スクリプト内でそれをインポートする import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import seaborn…

Python 1ファイルに全ステップ分が記述されたcsvから散布図を作成する「時間に関する列がない場合」

'21/02/26更新:本文更新。 下図のような行方向に全ステップの時系列データがあるとします。この例では、Time,1 Time,2 Time,3…で区切られています。 本プログラムを実行すると、下図のように時間毎にグラフにプロットした画像ファイルで保存します。 ちなみ…

Python 1ファイルに全ステップ分が記述されたcsvから散布図を作成する「時間に関する列がある場合」

'21/02/26更新:本文更新。 下図のように行方向に全ステップの時系列データがあるとします。この例では、一番左の列に時間に関するデータがあります。 本プログラムを実行すると、下図のように散布図を作成します。この時、指定した2つには赤と青の色を付け…

Python ラテン超方格法などで水準表を作成する「lhsmdu」

'21/12/17更新:余剰なコードを削除して可読性を良くしました。 はじめに、実験計画法(Design of Experiments,DOE)は広義には、直交表計画、中心複合計画、要因計画、ラテン超方格法、最適ラテン超方格法、パラメータスタディ(1因子実験)などがあります。実…

Python 複数のcsvファイルから指定したxyデータをExcelへ抽出して散布図を作成する「openpyxl」

'20/01/31更新:文末の関連記事を更新したことで、本記事のコードを更新しました。 本記事では、次の1,2のような処理をすることで、最終的に下図のような表と散布図を作成します。1. 複数のcsvファイルから指定した2列をそれぞれ抽出して、列方向へ並べてゆ…

Python Excelファイルで散布図を作成する「openpyxl」

# '20/01/31更新:右記リンク先更新に伴い、本記事のコードも更新しました→Python csvファイル中にある指定2列を複数ファイルからひとつのExcelファイルを作成する - HK29’s blog 本記事では、下図のような複数のXYデータが列方向へ順番に並んでいるExcelフ…

Python Linuxのターミナルでコマンド実行した結果を読む方法

'20/03/02更新:コードの可読性の向上。はじめに、下図はLinuxのターミナルで、コマンド $ ps aux を実行した例です。 本記事では、上記のようなコマンドラインで実行した結果がスタックであるようなデータを下図のような横棒グラフを作成して可視化する処理…

Python 横棒グラフを作成する「matplotlib」

'21/02/26:刷新 本記事では、横棒グラフ化する雛形コードを載せました。下図左のような都道府県別の人口データのcsvファイルがあります。これを下図右のようにソート(並び替え)して横棒グラフ化します。 日本語が含まれてるデータをmatplotlibで扱う場合…