Почему x = df.index отличается от x = ax.get-xticks () для сюжета twin-x в seaborn? - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь построить график, используя общую ось X, представляющую время (ГГГГММ), и ось 2 y, представляющую счет (для столбцов), а другая - эволюцию в процентах.

Желаемый результат:

Desired image

Итак, мне удалось сделать сюжет, который я хотел, но я не совсем понимаю, ПОЧЕМУ.

Следующее код - это тот, что сгенерировал график выше

f,ax=plt.subplots(figsize=(10,6))

sns.barplot(data=df,x=df.index,y='solicitudes',color=color,label='solicitudes',ax=ax)

ax2 = ax.twinx()

sns.lineplot(data=df, x= ax.get_xticks(), y='pctMalos',ax=ax2,color='red',lw=3,label='pct')

plt.show()

С другой стороны, этот код

f,ax=plt.subplots(figsize=(10,6))

sns.barplot(data=df,x=df.index,y='solicitudes',color=color,label='solicitudes',ax=ax)

ax2 = ax.twinx()

sns.lineplot(data=df, x= df.index, y='pct',ax=ax2,color='red',lw=3,label='pct')

plt.show()

Создает это другое изображение

Broken Image

Пока я вижу единственное отличие состоит в том, что в одном я "получаю ось х", а во втором я использую тот же самый x (т. е. вызов df.index, который отлично работает только для 1 сюжета). Но второй ломается.

У меня также возникают проблемы с ярлыками x-ticks, но я думаю, что в Seaborn есть кое-что довольно простое c, которого мне не хватает ... Вы знаете, что это такое?

Большое спасибо заранее всем, кто может мне помочь!

...