美文网首页
matplotlib 画图纵坐标使用科学计数法不同方法

matplotlib 画图纵坐标使用科学计数法不同方法

作者: DUTZCS | 来源:发表于2024-03-14 17:51 被阅读0次

使用matplotlib画图时候, 有时候经常想使用科学计数法, 并且将\times 10^n写在图的左上角,如图所示

注意红色框中的科学计数法

实现这种结果的目前我知道的有两种,一种是

from matplotlib import ticker

formatter = ticker.ScalarFormatter(useMathText=True)
formatter.set_scientific(True)
formatter.set_powerlimits((-1, 1))# 不使用这种形式的数据范围$10^{-1} - 10^{1}$,如果想全用这种方式表示则可以设为(0,0)

ax.semilogy(list_var, ff)
ax.yaxis.set_major_formatter(formatter)
ax.yaxis.get_offset_text().set(size=20) #设置字:体大小

这种适用于semilogy以及plot这种形式的画图,有时候可能对plot支持不太好,可以用下面一种(更简单,不需要import ticker):

ax.plot(list_var, ff)
ax.ticklabel_format(style='sci', scilimits=(-1,2), axis='y',useMathText=True)
ax.yaxis.get_offset_text().set(size=20)

这种适用于使用plot形式的画图,不适用于semilogy。

相关文章

网友评论

      本文标题:matplotlib 画图纵坐标使用科学计数法不同方法

      本文链接:https://www.haomeiwen.com/subject/sahszdtx.html