グラフ化

Python Excelセルに数式を書き込む。さらに棒グラフを作成する「OpenPyXL」

下図は、例題用に適当に作成した月別のぶどうの売り上げ表です。A列に月、B列に商品単価、C列に売り上げ個数としたエクセルファイルです。 本プログラムを実行すると、下図のようにD列に月別の売り上げをセルに数式で書き込みます。この時、D列の最終行に合…

Python バイオリン図と箱ひげ図を同時描画する「ptitprince」

本記事では、下図のようにviolin plot と box plot を同時プロットする雛形コードを載せました。ライブラリ「ptitprince」を使用します。 使用したサンプルデータは、機械学習でお馴染みのアイリスデータセットです(下図)。x軸にspecies列をy軸にsepal_width…

Python 「Sweetviz」探索的データ解析EDAを数行で行う

本記事では、EDA(Explanatory Data Analysis)を簡単に行うライブラリ「Sweetviz」を使った雛形コードを載せました。 例えば、csvデータから機械学習で使うために訓練データとテストデータを分けた後、その出来栄えを可視化します(下図例)。この例では、…

Python 2次元ヒストグラムの作成

本記事では、二次元ヒストグラムを作成する雛形コードを2種類記載しました。例題に使用したのは、機械学習で有名なBostonデータセットです。横軸に部屋数「RM」、縦軸に住宅価格「PRICE」を用いました。分布は数を表します。 下図例は、matplotlibのhist2dを…

Python Excelセルの行列範囲を自動判別して抽出する「openpyxl」

本記事では、下図のようにエクセルファイル中の先頭行ではなくて、中途半端な位置に表データ(行列範囲)がある場合に、特に適用します。この行列範囲を自動で判別して、抽出してpandasデータフレーム形式へ読み込む雛形コードを記載しました。 その仕組みは…

Python ボックスプロットを作成する「seaborn」

本記事では、下図のようなBox Plotを作図する雛形コードを載せました。 使用したサンプルデータは、機械学習でお馴染みのアイリスデータセットです(下図)。 ■本プログラム #!/usr/bin/env python # coding: utf-8 # In[1]: import pandas as pd df = pd.read…

Python df.hist()で見た目の良いヒストグラムを作成する方法

ヒストグラムは、pandasを使えばそのデータフレーム形式dfを用いて、df.hist()の一行だけで作図できます。しかし、列数が多い場合に下図のように見栄えがよろしくなくなる場合がある。タイトルが上隣のグラフに重なったり、数字が半分見えなかったりするので…

Python 「matplotlib」*c* argument looks like a single numeric RGB or RGBA sequence

本記事では、表題の警告が出た場合に、表示させないようにするための対策を載せました。下記をインポートして設定します。 from matplotlib.axes._axes import _log as matplotlib_axes_loggermatplotlib_axes_logger.setLevel('ERROR') ちなみに、警告の全…

Python 工程能力指数Cpkを計算する「pandas」

本記事では、csvファイルから各列のCpk(cpu, cplの小さい方)を計算して、csvファイルに出力する雛形コードを載せました。 また、下図のようにヒストグラムも作成します。 使用した例題のcsvデータの作成方法は、次のリンク先を参照下さい。https://hk29.ha…

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

本記事では、下図のような円グラフを横並びで複数作成する雛形コードを載せました。 下図が使用したcsvデータです。 上記数値データは、次のリンク先の値を引用しました。http://www.stat.go.jp/naruhodo/4_graph/shokyu/obi-graph.html ■本プログラム #!/us…

Python 縦棒グラフの上にその数字を表示する「matplotlib」

本記事では、下図のような縦棒グラフを作成する雛形コードを載せました。 例題データは、下図のようなcsvファイルから、データをソート(並び替え)して上図を作成します。 ■本プログラム #!/usr/bin/env python # coding: utf-8 # In[1]: import pandas as …

Python 平均±3σの折れ線図を作成する「matplotlib」

本記事では、表題のことを成す雛形コードを記載しました。点は平均値で、上下に伸びてるエラーバーがここでは±3σを表します。 グラフ化する例題データは、下図のようなcsvファイルです。A列「month」をx軸にして、B列「data」に対してmonthのカテゴリ別に平…

Python 帯グラフを作成する

本記事では、下図のような帯グラフ(積み重ね棒グラフ)の雛形コードを載せました。 次のサイトを参考にさせて頂き、前処理の追加や私好みに多少編集しています。matplotlib - 積み上げ棒グラフを作成する方法 - pystyle 使用したデータは下図のようなcsvフ…

Python カテゴリ別に色を指定して、散布図を作成する「JupyterLab向け」

'21/12/22更新:カテゴリの色を指定するコードを追記しました。 上図のデータ元は、下図のように横軸がA列, 縦軸がE列、カテゴリ変数はF列です。 ■本プログラム #!/usr/bin/env python # coding: utf-8 # In[1]: import pandas as pd file_path = 'test_data…

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 複数の画像ファイルを連結して1枚の画像ファイルを作成する「OpenCV, matplotlib, numpy」

'23/11/16更新:図例を見やすいのに差し替えたのとコードの可読性を若干向上しました。 本記事では、Pythonで複数の画像ファイル(jpg, png)を連結して1つの画像ファイルに保存する雛形コードを載せました。下図は、8枚の画像ファイルを3列3行の位置に配置し…

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ファイルで保存する雛形コードを載せています。 ●株価デー…