[英]Set 'y' axis to scientific notation
我希望我的 y 軸以科學記數法進行格式化。
我已經嘗試過matplotlib 文檔,但它忽略了我的命令。
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randint(1e4, size=200)
y = np.random.randint(1e4, size=200)
plt.ticklabel_format(axis='both', style='sci')
plt.xlabel('x')
plt.ylabel('y')
plt.scatter(x,y, color='b', s=5, marker=".")
plt.show()
我的輸出只是以非科學符號出現。
例如,我希望 ylabel 1000
為1E03
。
這段代碼只是一個例子。
我有一個子圖,其中圖 1 和圖 3 使用科學記數法,但圖 2 使用非科學記數法。
謝謝。
您應該將scilimits=(4,4)
添加到您的命令中
plt.ticklabel_format(axis='both', style='sci', scilimits=(4,4))
例如你的代碼將變成:
x = np.random.randint(1e4,size=200)
y = np.random.randint(1e4,size=200)
plt.ticklabel_format(axis='both', style='sci', scilimits=(4,4))
plt.xlabel('x')
plt.ylabel('y')
plt.scatter(x,y, color='b', s=5, marker=".")
plt.show()
通過
plt.ticklabel_format(axis='both', style='sci', scilimits=(0,0))
為我工作。
(正如@Meysam-Sadeghi 所建議的,但沒有 plt.subplots())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.