10の累乗のフォーマットで注釈を付けるにはどうすればよいですか?



How Do I Annotate With Power Ten Formatting



解決:

LaTeXまたはMathtextで使用する独自の文字列フォーマッタを定義できます。関数内以下で定義されているsci_notation()は、有効な10進数の数と、印刷する10進数の数(デフォルトは有効な10進数の数)を指定できます。使用する指数を明示的に指定することもできます。

from math import floor、log10#テキストレンダラーとしてLaTeXを使用して真のLaTeXでテキストを取得する#次の2行が省略されている場合、Mathtextが使用されますimport matplotlib as mpl mpl.rc( 'text'、usetex = True)import matplotlib .pyplot as plt#科学的記数法の文字列フォーマットの関数を定義しますdef sci_notation(num、decimal_digits = 1、precision = None、exponent = None): '' 'で使用するためにフォーマットされた指定された数値の科学的記数法の文字列表現を返しますLaTeXまたはMathtext、指定された有効な小数桁数と精度(表示する小数桁数)。使用する指数を明示的に指定することもできます。 '' '指数がNoneの場合:exponent = int(floor(log10(abs(num))))coeff = round(num / float(10 ** exponent)、decimal_digits)精度がNoneの場合:precision = decimal_digits return r' $ {0:。{2} f}  cdot10 ^ {{{1:d}}} $ '。format(coeff、exponent、precision)scinum = -3.456342e-12# `e`を使用した指数表記の注釈セパレーターplt.annotate(scinum、(0.5,0.5)、ha = 'center'、fontsize = 20)#セパレーターとして ` cdot 10`を使用した科学的記数法による注釈plt.annotate(sci_notation(scinum、1)、(0.5、 0.4)、ha = 'center'、fontsize = 20)#区切り文字として ` cdot 10`を使用した科学的記数法による注釈#1つの有効な10進数と2つの10進数、および#指定された指数。 plt.annotate(sci_notation(scinum、1,2、exponent = -14)、(0.5,0.3)、ha = 'center'、fontsize = 20)plt.title( 'Scientific notation'、fontsize = 14)plt.show ()

ここに画像の説明を入力してください