此问题在此处已有答案:
Set 'y' axis to scientific notation(2个答案)
23天前关闭
# Criar figura e eixos
fig, ax1 = plt.subplots()
# Configurar o primeiro eixo (temperatura) e todas as curvas em função desse eixo
ax1.set_xlabel('Tempo (s)')
ax1.set_ylabel('Temperaturas (ºC)')
ax1.plot(df["Tempo"], df["Temp. Forno"], color='tab:red', label='Forno')
ax1.plot(df["Tempo"], df["ViewPort"], color='tab:orange', label='ViewPort')
ax1.plot(df["Tempo"], df["Água Flange"], color='tab:olive', label='Água Flange')
ax1.plot(df["Tempo"], df["Flange Inox"], color='tab:purple', label='Flange Inox')
ax1.plot(df["Tempo"], df["Tampa"], color='tab:pink', label='Tampa')
ax1.tick_params(axis='y')
# Criar o segundo eixo (pressão)
ax2 = ax1.twinx()
ax2.set_ylabel('Pressão (mBar)')
ax2.plot(df["Tempo"], df["PressaoAlta"], color='tab:blue')
ax2.tick_params(axis='y')
#Abaixo segue uma tentativa de tornar o segundo eixo uma escala logarítmica
ax2.set_yscale('log')
ax2.yaxis.set_major_locator(ticker.LogLocator(subs=(1.0, 2.5, 5.0)))
ax2.yaxis.set_major_formatter(ticker.ScalarFormatter())
# Adicionar legenda
ax1.legend(bbox_to_anchor=(1.2, 1.1), loc='upper left')
ax2.legend(['Pressão'], bbox_to_anchor=(1.435, 0.75), loc='upper right')
# Exibir o gráfico
plt.savefig('grafico')
plt.show()
字符串
x1c 0d1x的数据
如图所示,右列为0.0001,我希望它和基数中的下标都等于10,比如10^-4。我希望代码显示的ax 2在科学计数法在对数规模的图形。我该怎么办?
1条答案
按热度按时间m1m5dgzv1#
根据Set 'y' axis to scientific notation,您可以使用
ax2.ticklabel_format(axis="y", style="sci")
将轴设置为科学计数法。在答案中,他们使用了"both"
,它将x和y轴都设置为科学计数法,但您只需要将其应用于y轴。