独自データで、iris分析のようなpairplotを表示させたいです。

独自データ

=カメラの
weight(重さ),
quality(画質),
price(値段),
camera(1一眼/2ミラーレス/3コンデジ/4スマホ)

[[1066, 2400, 215000, 1], [1274, 2400, 225000, 1], [1048, 2400, 205800, 1], [1200, 2400, 195500, 1], [970, 2400, 199000, 1], [1042, 2400, 220890, 1], [1110, 2400, 210400, 1], [1023, 2400, 195400, 1], [1024, 2400, 205000, 1], [1024, 2400, 205300, 1], [433, 2400, 105000, 2], [400, 2400, 185000, 2], [420, 2400, 179000, 2], [580, 2400, 105000, 2], [550, 2400, 165020, 2], [549, 2400, 105000, 2], [600, 2400, 185000, 2], [666, 2400, 104980, 2], [672, 2400, 130300, 2], [631, 2400, 160300, 2], [200, 2400, 26100, 3], [238, 2020, 15000, 3], [277, 2400, 25400, 3], [298, 2020, 15410, 3], [316, 2420, 25000, 3], [276, 2400, 24020, 3], [299, 1800, 20000, 3], [254, 2420, 25030, 3], [189, 2020, 24000, 3], [241, 2420, 20260, 3], [150, 1600, 3000, 4], [143, 1600, 2500, 4], [188, 1800, 3000, 4], [115, 1600, 2500, 4], [140, 1200, 2500, 4], [127, 1200, 3000, 4], [130, 1600, 2500, 4], [153, 1800, 3000, 4], [116, 1600, 2500, 4], [149, 1800, 2500, 4]]

# おまじない
import numpy as np
import pandas as pd
import csv

import seaborn as sns
# JupyterLab で実行する際は、この行を書くことで描画できるようになります。
%matplotlib inline

# 表示を短縮
pd.options.display.max_rows = 10
pd.options.display.max_columns = 15

c_file = open('camera.csv')
c_reader = csv.reader(c_file)
c_data = list(c_reader)
c_data = [[int(elm) for elm in v] for v in c_data]#str→int
print(c_data)
print(len(c_data))

head_data = list(['weight', 'quality', 'price', 'camera'])
print(head_data)

df  = pd.DataFrame(c_data, columns=head_data)
sns.pairplot(df, hue='camera')

とすると、
以下のようなエラーになってしまいます。

LinAlgError                               Traceback (most recent call last)
<ipython-input-17-6c1adccc077e> in <module>
----> 1 sns.pairplot(df, hue='camera')
(略)
LinAlgError: singular matrix

singular matrix error

ただし、hue='camera'を外すと色分けはされませんが正しく表示されます。
sns.pairplot(df) only

2のようなplotで、カメラの種類によって色分けさせるにはどうしたらよいでしょうか?