簡體   English   中英

jupyter中matplotlib內聯圖中的科學計數法

[英]Scientific Notation in matplotlib inline plots in jupyter

我正在繪制10 ^ -8階的值,並且我希望在jupyter中的內聯圖以該(科學)表示法輸出yaxis刻度。 我試過了 :

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()

除了在matplotlib中軸的刻度格式之外,任何指針都將對我有所幫助,除了在matplotlib輸入 軸的刻度格式外,在 此處輸入鏈接描述,或者在matplotlib中更改x軸刻度。注意:如果我注釋掉了import mpld3mpld3.enable_notebook()然后它可以工作,但不能與繪圖交互...在jupyter中繪圖內聯時,是否有對matplotlib的特殊處理? 謝謝!

您可以使用set_yticklabels獲得類似的輸出。

ax = plt.gca()
ax.set_yticklabels(['10^-8','2*10^-8','3*10^-8','4*10^-8'])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM