matplotlib - меняет цвет текста на метках гистограммы - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть следующий код, который я использую для построения столбчатой ​​диаграммы в виде столбцов, а затем отображаю процентные метки на столбцах в виде текста:

dfLev = pd.DataFrame({"year":['2017/16','2015/16','2014/15','2013/14','2012/13', '2011/12', '2010/11'],
                    "a":[1158,1091,1029,1062,929,922,725], 
                    "b":[3713,3319,3395,3773,3684,4215,4177]})


df_total = [4871,4410,4424,4835,4613,5137,4902]

dfLevFinal = dfLev.iloc[:, 0:3]


plotBar = dfLevFinal.plot(x = 'year', kind='barh',stacked = True, color = ['#8C4799','#008275'], title = '', mark_right = True)

df_rel = dfLevFinal[dfLevFinal.columns[1:3]].div(df_total, 0)*100

#plot the labels on the bars
for n in df_rel:
    for i, (cs, ab, pc) in enumerate(zip(dfLevFinal.iloc[:, 1:].cumsum(1)[n], dfLevFinal[n], df_rel[n])):
        plt.text(cs - ab/2, i, str(int(np.round(pc))) + '%', va='center', ha='center')

Однако метки на столбцах отображаются черным цветом.'шрифт, который трудно увидеть.Как мне изменить его на «белый»?

Я пробовал следующее, но это не работает:

import matplotlib as mpl
mpl.rcParams['text.color'] = 'White'

Есть предложения?

1 Ответ

0 голосов
/ 08 февраля 2019

Я нашел это.Это было простое исправление:

Я добавил color = 'white' в нижнюю строку:

#plot the labels on the bars
for n in df_rel:
    for i, (cs, ab, pc) in enumerate(zip(dfLevFinal.iloc[:, 1:].cumsum(1)[n], dfLevFinal[n], df_rel[n])):
        plt.text(cs - ab/2, i, str(int(np.round(pc))) + '%', va='center', ha='center', color = 'white')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...