Notebook
これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2025/09/05 15:49:41.256 (台灣標準時)
Matplotlib で作る図の縦横比
Matplotlib で図を作る際、図の縦横比を自分で指定したい場合があるでござる。
まずは、特に何も指定せずに以下のように作図してみるでござる。
#!/usr/pkg/bin/python3.9
#
# Time-stamp: <2022/05/18 09:05:44 (CST) daisuke>
#
# importing numpy module
import numpy
# importing matplotlib module
import matplotlib.figure
import matplotlib.backends.backend_agg
# output file
file_output = 'test_00.png'
# data
data_x = numpy.linspace (0.0, 20.0, 1000)
data_y = 0.5 * data_x
# making objects "fig" and "ax"
fig = matplotlib.figure.Figure ()
matplotlib.backends.backend_agg.FigureCanvasAgg (fig)
ax = fig.add_subplot (111)
# axes
ax.set_xlabel ("X")
ax.set_ylabel ("Y")
ax.set_xlim (0.0, 20.0)
ax.set_ylim (0.0, 10.0)
# plotting data
ax.plot (data_x, data_y, '-', label=r'$y=0.5x$')
# saving file
fig.savefig (file_output, dpi=225)
上のスクリプトを実行すると、以下のような図ができるでござる。 4:3 の縦
横比の横長の長方形の領域全体を使って図が作られるでござる。
次に、 set_aspect を使ってみるでござる。以下のようなスクリプトを用意し
てみるでござる。
#!/usr/pkg/bin/python3.9
#
# Time-stamp: <2022/05/18 09:06:51 (CST) daisuke>
#
# importing numpy module
import numpy
# importing matplotlib module
import matplotlib.figure
import matplotlib.backends.backend_agg
# output file
file_output = 'test_01.png'
# data
data_x = numpy.linspace (0.0, 20.0, 1000)
data_y = 0.5 * data_x
# making objects "fig" and "ax"
fig = matplotlib.figure.Figure ()
matplotlib.backends.backend_agg.FigureCanvasAgg (fig)
ax = fig.add_subplot (111)
# axes
ax.set_xlabel ("X")
ax.set_ylabel ("Y")
ax.set_xlim (0.0, 20.0)
ax.set_ylim (0.0, 10.0)
ax.set_aspect ('equal')
# plotting data
ax.plot (data_x, data_y, '-', label=r'$y=0.5x$')
# saving file
fig.savefig (file_output, dpi=225)
上のスクリプトを実行してみると、以下のような図ができるでござる。
set_aspect で equal を指定すると、 X 軸と Y 軸のスケールが同じになるで
ござる。つまり、 X 軸の 0 から 1 と Y 軸の 0 から 1 が同じ間隔で描かれ
るでござる。
スケールを同じにしたいのではなく、正方形の図を作りたいという場合もある
でござる。それには、以下のようなスクリプトにすればよいようでござる。
#!/usr/pkg/bin/python3.9
#
# Time-stamp: <2022/05/18 09:07:40 (CST) daisuke>
#
# importing numpy module
import numpy
# importing matplotlib module
import matplotlib.figure
import matplotlib.backends.backend_agg
# output file
file_output = 'test_02.png'
# data
data_x = numpy.linspace (0.0, 20.0, 1000)
data_y = 0.5 * data_x
# making objects "fig" and "ax"
fig = matplotlib.figure.Figure ()
matplotlib.backends.backend_agg.FigureCanvasAgg (fig)
ax = fig.add_subplot (111)
# axes
ax.set_xlabel ("X")
ax.set_ylabel ("Y")
ax.set_xlim (0.0, 20.0)
ax.set_ylim (0.0, 10.0)
ax.set_box_aspect (1)
# plotting data
ax.plot (data_x, data_y, '-', label=r'$y=0.5x$')
# saving file
fig.savefig (file_output, dpi=225)
上のスクリプトを実行すると、以下のような図ができるでござる。 X 軸で表
されている範囲と Y 軸で表されている範囲は異なるのでござるが、図自体が
正方形になっているでござる。
- About this article:
- author: daisuke
- file: 20220518_0.html
- category: Computer___Python
- title: Matplotlib で作る図の縦横比
- mode: public
- last modified: 2022/05/18 22:01:47 (Taiwan Standard Time)
- html generated: 2025/09/05 15:49:41.256 (Taiwan Standard Time)
Frequently accessed files
- Misc___Taiwan/20240207_00.html
- 461 page views
- title: 台灣から台灣の外に EMS で荷物を発送する方法
- Misc___Taiwan/20240819_00.html
- 392 page views
- title: 住所から台灣の郵便番号を調べる方法
- Computer___NetBSD/20230119_00.html
- 351 page views
- title: NetBSD でバイナリーパッケージを利用する方法
- Computer___TeX/20231107_00.html
- 327 page views
- title: LaTeX での counter の利用方法について
- Computer___NetBSD/20250301_01.html
- 293 page views
- title: yt-dlp で YouTube の動画をダウンロードするときのこと
- Computer___TeX/20230726_01.html
- 273 page views
- title: Beamer の Metropolis テーマで block の色を変える方法
- Computer___Network/20240130_00.html
- 269 page views
- title: Google Colaboratory で Python 3.12 を使う方法
- Misc___Japan/20240610_00.html
- 266 page views
- title: NHK ラジオの「聞き逃し」の変更点 (2024 年 06 月)
- Misc___Taiwan/20240903_01.html
- 265 page views
- title: 台湾の郵便局で EMS を利用して荷物を海外に送る方法
- Computer___NetBSD/20240805_03.html
- 237 page views
- title: NetBSD 10 のインストール
- Computer___TeX/20240411_00.html
- 236 page views
- title: LuaTeX を使って PDF ファイルを作成する方法
- Computer___WWW/20230522_02.html
- 228 page views
- title: HTML でプログラムのコードを書くときの設定
- Food___Taiwan/20230608_04.html
- 227 page views
- title: 「田園美食屋」の咖哩煎雞腿
- Computer___FreeBSD/20220621_0.html
- 221 page views
- title: FreeBSD での X.org の設定の仕方
- Misc___Taiwan/20250728_01.html
- 217 page views
- title: 「我那小小多山的國家」という言葉が流行っている
- Computer___Hardware/20240820_00.html
- 216 page views
- title: Raspberry Pi 5 の演算性能
- Science___Math/20220420_0.html
- 216 page views
- title: ラプラシアンの三次元極座標表示
- Computer___NetBSD/20250409_00.html
- 213 page views
- title: Raspberry Pi 5 に NetBSD-10.1 をインストールする手順
- Computer___TeX/20230503_00.html
- 211 page views
- title: LaTeX CJK で日本語や中国語を取り扱うための準備について
- Computer___TeX/20240410_00.html
- 210 page views
- title: pdfTeX を使って PDF ファイルを作る方法
- Misc___Taiwan/20220831_4.html
- 210 page views
- title: 台南の民權派出所
- Computer___NetBSD/20241102_00.html
- 209 page views
- title: ImageMagick の convert コマンドについて
- Computer___NetBSD/20250307_00.html
- 209 page views
- title: uim と mozc による日本語入力の設定について
- Computer___Android/20250616_00.html
- 208 page views
- title: osmand で GPS track log を記録する方法
- Computer___TeX/20240414_01.html
- 206 page views
- title: LuaTeX を使って日本語と中国語の漢字が混在した PDF ファイルを作成する方法
- Computer___Debian/20230102_00.html
- 202 page views
- title: Debian GNU/Linux で KVM を使い仮想機械を動かす手順の記録
- Computer___iPad/20250507_00.html
- 201 page views
- title: UTM SE について
- Computer___TeX/20240414_00.html
- 200 page views
- title: LuaTeX での fontspec を使ったフォントの設定の方法
- Computer___NetBSD/20240810_00.html
- 199 page views
- title: Raspberry Pi 5 に NetBSD-10 をインストールしてみた
- Computer___NetBSD/20240807_01.html
- 199 page views
- title: PDF ファイルと okular を使って発表をする方法
HTML file generated by Kinoshita Daisuke.