Как использовать цветовую палитру в морском штрих-графике при раскрашивании одного столбца c? - PullRequest
0 голосов
/ 28 мая 2020
fig1, ax1 = plt.subplots()
sns.barplot(x,y,data,ax=ax1,**palette='vlag'**,ci=None)

plt.show()

Приведенный выше код может окрашивать полосы, полученные в спецификации c палитры, теперь. Если я хочу, чтобы одна полоса выглядела по-другому, я могу использовать следующий код:

fig1, ax1 = plt.subplots()
sns.barplot(x,y,data,ax=ax1,ci=None)

for bar in ax1.patches:
    if bar.get_height()==some value:
        bar.set_color('green')
    else:
        bar.set_color('orange')

plt.show()

Теперь, что Я хочу использовать одну определенную полосу c, окрашенную для некоторого значения, в то время как все остальные полосы в какой-то палитре.

Я просмотрел раздел настраиваемой цветовой палитры, но это не помогло.

1 Ответ

0 голосов
/ 28 мая 2020

Что в нем отличалось? Я считаю, что ваш код правильный. Я написал код с данными Titani c, чтобы опробовать его. К вашему сведению.

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

titanic = sns.load_dataset('titanic')

x = titanic['class'].unique()
y = list(titanic['class'].value_counts())

fig1, ax1 = plt.subplots()

sns.barplot(x,y,ax=ax1,ci=None)

some_value = 200

for bar in ax1.patches: 
    if bar.get_height() <= some_value:
        bar.set_color('green') 
    else:
        bar.set_color('orange')

plt.show()

enter image description here

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