#60

散布図をASCIIで描く

2変数の点を*で配置し、関係の形を目で確かめます。

解説

相関係数は関係の強さを数値で表しますが、散布図はその関係を「形」として見せてくれます。 ここでは縦方向に行(yの値)、横方向に列(各データ点)を取り、yの値に一致する行に * を置くことでASCIIの散布図を描きます。 上の行ほどyが大きいので、右肩上がりに点が並べば正の相関です。点の並びから関係を読み取りましょう。

書き方

・range(height, 0, -1) — 大きい行から小さい行へ逆順に反復(上ほど y が大きい)。
・zip(xs, ys) — x と y の対を同時に取り出す。
・" *" if y == row else "  " — その行の y に一致する列に * を置く。
・文字列の += で1行を組み立て、"--" * n / f"{x:2d}" で軸を整形。

書いて動かす

この回の課題

x と y のデータ対を、y の値に合う行に * を置く方法でASCII散布図として描き、点の並びから関係の形を読み取ろう。

コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。

自分のPCでも続けてみませんか

Windows版 InsightPy は Python を同梱しているので、環境構築なしで同じコードを書いて実行できます。 書いたコードを保存しておけるほか、ステップ実行で変数の変化を1行ずつ確かめられます。 個人の学習や私的な目的でのご利用は、31日目以降も無料です(スクリプトの保存は10本まで)。 このブラウザ版の学習センターも、引き続き無料でお使いいただけます。