簡體   English   中英

Matplotlib:將 xticks 顯示為對數對數刻度中的整數

[英]Matplotlib: Display xticks as integers in log-log scale

我正在嘗試使用我已有的數據復制以下散點圖。 該圖在對數對數刻度(黑點)上繪制了 F_n 與 n,但 x 軸和 y 軸表示實際數字而不是 10 的冪。藍線是最佳擬合線,可以忽略。 根據這個問題的答案,我嘗試使用ScalarFormatter和刻度格式API來格式化 x 軸,但我無法獲得正確的格式來顯示任意數字,如 (2,5,20,50)。 此外,應該如何有選擇地選擇 y 軸的刻度,我嘗試了LogLocator ,但它也沒有用。

在此處輸入圖像描述

歡迎任何幫助或建議。 先感謝您!

實現這一目標的一種方法是使用xticksyticks 這是一個例子:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(1, 200)
y = 0.1 * (x / x[0])**(np.log10(1e-07/0.1) / np.log10(x[-1]/x[0]))

plt.figure()
plt.plot(x, y)
plt.xscale("log")
plt.yscale("log")
plt.xticks([1, 2, 5, 10, 20, 50, 100, 200], [1, 2, 5, 10, 20, 50, 100, 200])
plt.yticks([0.01, 1e-04, 1e-06], [0.01, "1e-04", 1e-06])
plt.minorticks_off()
plt.show()

在此處輸入圖像描述

暫無
暫無

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

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