見出し画像

【python】【prompt engineering】x座標、y座標を明示する

いつもと趣きが異なりますが、お仕事でちょこっと使った話のおすそわけ。
中学生の時に、xy平面って習って座標って習ったのですが、
そうだ、その座標を明示するcodeって書いたことないな、と思ってChatGPTに聞いてみましたw

要はこんな絵が欲しい、と:

座標を明示してほしい
import matplotlib.pyplot as plt

# 定義した点の座標
x, y = 2, 3

# プロットの設定
plt.figure(figsize=(6, 6))
plt.plot(x, y, 'ro')  # 点を赤い丸で表示
plt.axhline(y=y, color='gray', linestyle='--')  # y座標に沿った点線
plt.axvline(x=x, color='gray', linestyle='--')  # x座標に沿った点線

# 軸の範囲とラベル
plt.xlim(0, 5)
plt.ylim(0, 5)
plt.xlabel('X axis')
plt.ylabel('Y axis')

# タイトルの追加
plt.title('Projection of a Point on Axes')

# グリッドの表示
plt.grid(True)

# プロットの表示
plt.show()

さらに点線の上側が邪魔だな、、と思ったら、つまり↓のような絵が欲しいなら、、

x軸、y軸に射影する破線が欲しい
import matplotlib.pyplot as plt

# 定義した点の座標
x, y = 2, 3

plt.figure(figsize=(6, 6))
plt.plot(x, y, 'ro')  # 点を赤い丸で表示

# x軸とy軸への射影を点線で描く(必要な部分のみ)
plt.plot([x, x], [0, y], 'gray', linestyle='--')  # x軸に射影する点線(上側は描かない)
plt.plot([0, x], [y, y], 'gray', linestyle='--')  # y軸に射影する点線(右側は描かない)

# 軸の範囲とラベル
plt.xlim(0, 5)
plt.ylim(0, 5)
plt.xlabel('X axis')
plt.ylabel('Y axis')

# タイトルの追加
plt.title('Projection of a Point on Axes (Limited)')

# グリッドの表示
plt.grid(True)

# プロットの表示
plt.show()

ちなみに、上記を得るためのpromptは

pythonのmatplotlibで、例えばx座標が2, y座標が3の点があるとき、 その点をxy-平面に描き、さらに座標を軸上に点線で射影するような図を描くときのsample code

self prompt with GPT-4

下の方はこんな感じ(やけに口語体だな)

この点線は、ずっと上まで伸びてしまいますが、赤い点からx軸方向への点線(上側は不要)、 同様に赤い点からy軸方向への点線(右側は不要)となるようなsample code

self prompt with GPT-4

何かの参考になれば。

この記事が気に入ったらサポートをしてみませんか?