こしあん
2018-07-07

pyplotの散布図グラフでマーカーに文字を使う方法


Pythonのグラフ(matplotlib.pyplot)で散布図をプロットする際に、マーカーに「a, b, c」のような文字を用いる方法を解説します。

コード

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(45)

data_a = np.c_[np.random.randn(20)+2, np.random.randn(20)+2]
data_b = np.c_[np.random.randn(20)+3, np.random.randn(20)*0.5+1]
data_c = np.c_[np.random.randn(20)*0.5+4, np.random.randn(20)+3]

plt.scatter(data_a[:,0], data_a[:,1], color="red", marker="$a$")
plt.scatter(data_b[:,0], data_b[:,1], color="green", marker="$b$")
plt.scatter(data_c[:,0], data_c[:,1], color="blue", marker="$c$")
plt.show()

以下のようなグラフができます。

マーカーに「a,b,c」と表示できました。ポイントはこのmarkerの部分です。

plt.scatter(data_a[:,0], data_a[:,1], color="red", marker="$a$")

「$」で囲んだ部分はTexの数式表記となります。なので$y=ax+b$とすればそのまま数式が出てきます(マーカーのサイズが小さすぎて潰れて上手く表示できないかもしれません)。

文字ではなく数字をマーカーとしたい場合も、「$」で囲まれた「a」を「1」とすればいいだけです。簡単ですね。

参考:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.scatter.html

Related Posts

Pandasのピボットテーブルを使って簡単に横並びの棒グラフを作る方法... Pandasのピボットテーブルを使うと横並びのグラフを数行のコードで作成することができます。matplotlib単体でもできますが、Pandasのほうがより楽にできます。その方法を解説します。 作りたいもの こんなグラフを作りたい 使用頻度高いなのに毎回やり方忘れそうになるのでメモ代わりに...
CIFAR-10/100のバイナリを画像ファイルに書き出す方法... CIFAR-10/100は画像分類として頻繁に用いられるデータセットですが、たまに画像ファイルでほしいことがあります。配布ページにはNumpy配列をPickleで固めたものがあり、画像ファイルとしては配布されていないので個々のファイルに書き出す方法を解説していきます。 コード まずは配布ページ...
Pythonで画像のカラーヒストグラムを簡単に表示する方法... 画像で赤、緑、青の画素がどのような分布になっているかという「カラーヒストグラム」を見たいことがあります。しかしいざ探すとツールが少ないのです。Pythonならほんの数行で出せます。 PillowとPyplotでとてもお手軽 カラーヒストグラムの原理は単純で、縦横カラーチャンネルの画像を、カラー...
Kernel-PCAのexplained_variance_ratioを求める方法... scikit-learnのPCA(主成分分析)にはexplained_variance_ratio_という、次元を削減したことでどの程度分散(データを説明できる度合い)が落ちたのかを簡単に確認できる値があります。Kernel-PCAではカーネルトリックにより、特徴量の空間が変わってしまうので、ex...
Pandasのpivotを使ってデータを集計し、横並びの棒グラフで表示する方法... Pandasのデータフレームを集計して、横並びの棒グラフで表示したいときがあります。その方法を紹介していきます。Pivotを使うと簡単にできます。 データ例 以下のようなデータ(rain.txt)があったとします。都市別(那覇、東京、札幌)の月別の平年降水量のデータを取ったものです(気象庁よ...

Add a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です