簡體   English   中英

在matplotlib箱圖中記錄x比例

[英]Log x-scale in matplotlib box plot

我有一個看似簡單的問題。 也許只是我在濫用該庫,但是我無法確定什么是正確的語法。

我必須根據一組數據制作箱線圖。 我希望將x軸設置為對數刻度,但是僅編寫plt.xscale('log')會使x刻度消失。

這是我的代碼:

import matplotlib.pyplot as plt

# .. data analysis here ...

plt.boxplot(values, positions = pos, widths = w)
plt.xscale('log')
plt.yscale('log')
plt.show()

得到的圖像是:

在此處輸入圖片說明

除了沒有出現x軸之外,還可以。 有解決這個問題的簡單方法嗎?

謝謝! 任何意見是極大的贊賞!

嘗試使用plt.autoscale()或手動設置x軸限制:

import matplotlib.pyplot as plt
import numpy as np

# fake up some data
spread = np.random.rand(50) * 100
center = np.ones(25) * 50
flier_high = np.random.rand(10) * 100 + 100
flier_low = np.random.rand(10) * -100
data = np.concatenate((spread, center, flier_high, flier_low), 0)
spread = np.random.rand(50) * 100
center = np.ones(25) * 40
flier_high = np.random.rand(10) * 100 + 100
flier_low = np.random.rand(10) * -100
d2 = np.concatenate((spread, center, flier_high, flier_low), 0)
data.shape = (-1, 1)
d2.shape = (-1, 1)
data = [data, d2, d2[::2, 0]]

plt.figure()
plt.boxplot(data)
plt.xscale('log')
plt.yscale('log')
plt.autoscale(True)
plt.show()

在此處輸入圖片說明

暫無
暫無

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

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