簡體   English   中英

將“y”軸設置為科學記數法

[英]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 10001E03

這段代碼只是一個例子。

我有一個子圖,其中圖 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.

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