цветная этикетка python plt - PullRequest
       15

цветная этикетка python plt

0 голосов
/ 01 января 2019
# x,y,size 데이터 셋팅
x = target_data.accuracy
y =  target_data.f1_score
s = target_data.recall

# 라벨셋팅(순서유의)
users =['dnn', 'random forest', 'extra trees', 'ensemble']

Это сомнительная точка.

# 컬러셋팅
colors =  list(np.array([0.81520346,0.28735556, 0.6542928, 0.3542928]))
df = pd.DataFrame(dict(accuracy=x, f1_score=y, users=users, s=s, c=colors ))

# 그래프 그리기
ax = df.plot.scatter(x='accuracy', y='f1_score', s=df.s*10,c= df.c,  alpha=0.5)
for i, txt in enumerate(users):
    ax.annotate(txt, (df.accuracy.iat[i],df.f1_score.iat[i]))
plt.show()

Я определенно установил массив цветов и сопоставил график.

Полученное изображение хорошо сформировано с графиками и метками,но цвет представлен как черно-белое изображение.Что не так?

Ответы [ 2 ]

0 голосов
/ 01 января 2019

Если вы используете только скалярные числа для настройки цвета, он будет отображаться в цветовую карту, которая по умолчанию rc image.cmap - и это по умолчанию в оттенках серого.Таким образом, вы можете либо дополнительно установить другую цветовую карту (например, cmap='viridis' или любую другую), либо определить свои цвета как имена цветов, кортежи rgb (a) или шестнадцатеричные значения rgb:

Примеры:

colors = ['r', 'g', 'b', 'm']
colors = [[.2, .3, .4], [.7, .3, .4], [.2, .9, .4], [.2, .3, .0]]
colors = ['#a0ff45', '#123456', '#fedcba', '#00ff77']
0 голосов
/ 01 января 2019

Нет ничего плохого, но ваша cmap (Colormap) по умолчанию представляет собой цветную карту, где числа отображаются в непрозрачность.Вы можете изменить его на любой из этого длинного списка: https://matplotlib.org/examples/color/colormaps_reference.html и получить очень красочный сюжет

ax = df.plot.scatter(x='accuracy', y='f1_score', s=df.s*10,c= df.c, 
                 alpha=0.5, cmap='PuOr') # added cmap

Colorful scatter plot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...