Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python・Matplotlibでテキストファイルを読み込んでシンプルな棒グラフを作成する方法

入力したテキストファイル(.txt)のデータをもとに、シンプルな棒グラフを描画する方法を解説します。PythonのMatplotlibライブラリを使えば、わずか数行のコードで実現できます。

基本的な手順

テキストファイルから棒グラフを作成するには、以下の手順に従います。

  • 棒のラベル(名前)高さ(値)を格納するための空のリストを用意します。
  • テキストファイルを開き、1行ずつ読み込みます。
  • 各行から読み取った名前と高さを、それぞれ対応するリストに追加します。
  • 用意したリストを使って plt.bar() で棒グラフを描画します。
  • plt.show() メソッドを呼び出して、図を画面に表示します。

サンプルコード

以下が実際のコード例です。

from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

bar_names = []
bar_heights = []

for line in open("test_data.txt", "r"):
    bar_name, bar_height = line.split()
    bar_names.append(bar_name)
    bar_heights.append(bar_height)

plt.bar(bar_names, bar_heights)
plt.show()

コードのポイント

  • line.split() は空白文字で行を分割し、「名前」と「数値」を同時に取得できます。
  • figure.figsize を設定することで、図のサイズを自由に調整できます。
  • figure.autolayout を有効にすると、ラベルやタイトルが図の外にはみ出すのを自動的に防げます。

入力ファイルの内容

この例で使用する「test_data.txt」には、次のようなデータが含まれています。各行は「名前 値」の形式で記述されています。

Javed 75
Raju 65
Kiran 55
Rishi 95

実行結果

スクリプトを実行すると、各名前がX軸のラベルとして表示され、対応する値の高さを持つ棒グラフが描画されます。これにより、テキストファイル内のデータをひと目で視覚的に比較できるようになります。

この手法は、ログファイルや集計結果など、スペース区切りのシンプルなテキストデータを素早く可視化したい場合に非常に便利です。CSV形式などより複雑なデータを扱う場合は、pandas ライブラリとの組み合わせも検討してみてください。

  1. Python Matplotlibで3Dグラフをプロットする方法を解説

    PythonのMatplotlibを使えば、3次元の散布図やグラフを簡単に描画できます。この記事では、mpl_toolkits.mplot3dモジュールを利用して3Dグラフを作成する手順を、サンプルコード付きでわかりやすく解説します。 3Dグラフをプロットする基本手順 Pythonで3Dグラフを描くには、以下のステップに従います。 figure()メソッドを使って、新しい図(フィギュア)を作成するか、既存の図をアクティブにします。 Axes3Dオブジェクトを取得して、3D用の座標軸を準備します。 x、y、zそれぞれのデータポイントをリストとして定義します。 scatter3D()メソッドを使

  2. Pythonのmatplotlibで積み上げ棒グラフを作成・表示する方法

    Matplotlibは、Pythonで最も広く使われているデータ可視化ライブラリの一つです。データの可視化は、数値を一つずつ確認したり複雑な計算を行ったりすることなく、データ全体の傾向や特徴を直感的に把握するために欠かせないステップです。また、定量的な洞察を効果的に伝える手段としても非常に有用です。 Matplotlibは、データをもとに2次元のグラフやプロットを作成するために使用されます。オブジェクト指向のAPIを備えており、作成したグラフをPythonアプリケーションに組み込むことも可能です。IPythonシェル、Jupyter Notebook、Spyder IDEなど、さまざまな環境で