Pandas Plot: Como mudar xlim em DataTime formato?

Victor Wang:

A gama de data é a partir de 2020/01/30 a 2020/03/31. O formato da data é datetime64 [ns]. Eu quero mudar a gama xlim a (2020/01/30, 2020/03/31), mas não está funcionando.

Meu código é a seguinte:

#Plot left Y
fig, ax1 = plt.subplots()
fig.autofmt_xdate()

x_lim = (datetime.date(2020, 1, 30), datetime.date(2020, 3, 31))

df.plot(x = 'Date', y = ["TotalCount", "CumVirusCount"], ax = ax1, xlim = x_lim)


Plot right (Y)
ax2 = ax1.twinx()
df.plot(x = 'Date', y = ["Percent"], ax = ax2, xlim = x_lim, ylim=(0,70), color = 'tab:green')

#Decorations
#ax1:
ax1.set_xlabel('Date', fontsize=18)
ax2.set_ylabel("Percentage")

plt.show()

A trama é como se segue:

Enredo

Espero que a primeira data a ser 2020/01/30 e a última data para ser 2020/03/31 no eixo x.

Como fazer isso acontecer? Por que a minha abordagem não funciona? Obrigado!

Arne:

Você definir o x-gama no seu código com xlim=..., e ele funciona bem. Mas a carrapatos que lugares matplotlib no eixo-x por padrão não incluem necessariamente a valores mínimo e máximo. Para mudar isso, você tem que mudar os carrapatos, não a alcance. Pandas' df.plot()invólucro leva um xticksargumento de palavra-chave para isso, por exemplo, passar isso na chamada de função trama:

xticks=[x_lim[0], <some in-between dates to label>, x_lim[1]] 

Acho que você gosta

Origin http://10.200.1.11:23101/article/api/json?id=406894&siteId=1
Recomendado
Clasificación