Python問題集を解いてみよう!!

Pythonで日本の国旗を描きたい

当ページのリンクには広告が含まれています。
Pythonで日本の国旗を描きたい

先日、X でこんなポストを見かけました。

8月24日はウクライナの独立記念日のようですね。

真似して日本の国旗を Python で描いてみたので、今回はそれを共有したいと思います。

目次

日本の国旗の制式

日本の国旗の制式は法律で定められていて、内閣府のサイトにこう記載されています。

  1. 寸法の割合及び日章の位置
      縦 横の三分の二
    日章
      直径 縦の五分の三
      中心 旗の中心
  2. 彩色
    地 白色
    日章 紅色

サイズは分かりやすいですね。

日の丸の色は「紅色」とありますが、カラーコードを調べてみると決まっていないようです。

内閣府のサイトの国旗には赤(#FF0000)になっていますが、ここは最近流行りの ChatGPTに質問してみました。

ChatGPT の回答はこうでした。

ChatGPT の回答

日本の国旗「日の丸」に使用される赤色には特定のカラーコードがあります。ただし、これは用途やコンテキストによって異なる場合があります。日本の政府は、国旗と海上自衛隊の旗に使用するための正確な色を指定しています。この赤色の一般的な近似値として、RGBで(173, 35, 51)、またはHTMLカラーコードで #AD2333 がしばしば用いられます。

これは公式の色として指定されているわけではないので、公式な文書や場所で使用する際には、日本政府が指定する正確な色を確認することが重要です。

2021年9月時点での情報ですので、最新のガイドラインがある場合は、それに従ってください。

ということで、#AD2333を採用します。

↓ こんな色です。

紅色?

#ad2333

RGB: 173, 35, 51

CMYK: 0, 80, 71, 32

日本の国旗を描くコード

参考にした X のポストと同じように matplotlib を使用していますので、事前に pip 等でインストールしてください。

Google Colabolatory だとデフォルトで matplotlib はインストールされています。

import matplotlib.pyplot as plt
import matplotlib.patches as patches


def draw_japan_flag():
    # Create a new figure with aspect ratio 3:2
    fig, ax = plt.subplots(figsize=(7.5, 5))

    # Set the background color to white
    ax.set_facecolor("white")

    # Define the crimson red color code for Nisshoki (Japanese flag)
    crimson_red = "#AD2333"

    # Draw a crimson red circle in the center
    center_circle = patches.Circle((3.75, 2.5), radius=1.5, color=crimson_red)
    ax.add_patch(center_circle)

    # Turn off the axis
    ax.axis("off")

    # Set the x and y axis limits
    ax.set_xlim(0, 7.5)
    ax.set_ylim(0, 5)

    # Display the figure
    plt.show()


draw_japan_flag()

上記コードを実行して描かれたものが下記になります。

matplotlib で描いているのでサイズは正確ではないかもしれません。

画像ファイルのサイズを見ると「601 ✕ 405」となっているので、だいたい合ってはいると思います。

Google Colaboratory

本記事に掲載しているコードは Google Colaboratory で動作を確認しています。

下記リンクからアクセスして、ご自身の Google ドライブにコピーしていただければ、すぐに実行できます。

私が確認した時点では、

  • Python 3.10.12
  • matplotlib 3.7.1

でした。

おわりに

今回は Python で日本の国旗を描いてみました。

参考にした X のポストに習って matplotlib を使用しましたが、正確なサイズで描くためには pillow などの画像処理系のライブラリを使ったほうが良いかもしれませんね。

X で Python クイズを配信しています。

よかったらフォローしてください!

以上です。

スポンサーリンク

Pythonで日本の国旗を描きたい

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次