Как я могу изменить цвет гистограммы на основе значений? - PullRequest
0 голосов
/ 22 января 2019

У меня iplot с определенными значениями, отфильтрованными по условию. Необходимо изменить цвет для специальных наборов.

Example -
          values 4-6 green
          values >6 red
          Need this in IPLOT

В настоящее время график имеет одинаковый цвет для всех значений.

Пожалуйста, найдите график здесь https://plot.ly/~madanraj/30

Мой код

a=df['Woda'].value_counts()
a.iplot(asUrl=True,kind='bar',color=color,title ="KPI Report",filename='Kpi',xTitle='No of Days',yTitle='Number of Incidents')

ПРИМЕЧАНИЕ: df ['Woda'] имеет значения от 5 до 200, ничего особенного.

1 Ответ

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

Вы можете сделать это с помощью matplotlib.pyplot следующим образом:

# test dataframe
df = pd.DataFrame({'Woda':np.random.randint(5,200,100)})

plt.figure(figsize=(12,8))

# change bins to range(4,201) if it's the actual data range
n, bins, patches = plt.hist(df.Woda, bins=range(0,200))

plt.xticks(range(0,200,20))

for i in range(4,len(patches)):
    # if you want color by value_counts: 
    # plt.setp(patches[i], 'facecolor','g' if patches[i].get_height()<7 else 'r')
    plt.setp(patches[i], 'facecolor','g' if i<7 else 'r')
plt.show()

Результат:

enter image description here

Тогда, если выдействительно нужно plotly число, используйте plotly.tools для его преобразования.

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