2017-11-10 29 views
0

私は10^-8のオーダーの値をプロットしています。私は、その(科学的な)表記法でyaxisダンプを出力するために私のインラインプロットをjupyterにしたいと思います。matplotlibのインラインプロットの科学記法

plt.gca().yaxis.set_major_formatter(FormatStrFormatter('%.1E')) 

など

plt.gca().yaxis.get_major_formatter().set_powerlimits((0, -10)) 

plt.ticklabel_format(style='sci') 

を何も動いていないようにみえ:私が試してみました。私は間違って何をしていますか?私は、次の例があります。私はこの上で何かを見つけることができませんよう

import numpy as np 
%matplotlib inline 
import matplotlib.pyplot as plt 
import mpld3 
mpld3.enable_notebook() 
import matplotlib.ticker as mtick 

a=5*10**-8 
b=3*10**-8 
x=np.arange(0,10,0.01) 

y=a*x+b 

plt.figure(figsize=(12,5)) 
plt.subplot(1,2,1) 
plt.plot(x,y) 
# plt.ticklabel_format(style='sci') 
# plt.gca().yaxis.get_major_formatter().set_powerlimits((0, -10)) 
plt.gca().yaxis.set_major_formatter(mtick.FormatStrFormatter('%.0e')) 
plt.show() 

任意のポインタはticks format of an axis in matplotlibenter link description hereまたはChange x axes scale in matplotlib NOTEのほか、参考になる:私はimport mpld3mpld3.enable_notebook()で行をコメントアウトした場合、それは動作しますプロットと対話できない... jupyterでインラインでプロットするときにmatplotlibの特別な扱いはありますか? ありがとう!

+1

完全な[MCVE]と現在の出力を示す画像を共有して、間違った箇所を説明できますか? – tom

+0

あなたのコメントtomのおかげで。質問を編集して例を挙げました。今まで "ラジオの静寂"のために申し訳ありません。 – HCRuiz

答えて

0

set_yticklabelsを使用すると、同様の出力が得られます。

ax = plt.gca() 
ax.set_yticklabels(['10^-8','2*10^-8','3*10^-8','4*10^-8']) 
関連する問題