[英]How to stack multiple histograms in a single figure in Python?
我有一個形狀為 [30, 10000] 的 numpy 數組,其中第一個軸是時間步長,第二個軸包含觀察到的一系列 10000 個變量的值。 我想在一個圖中可視化數據,類似於:
您可以在此處的 seaborn 教程中找到。 基本上,我想要的是為 30 個時間步驟中的每一個繪制 30/40 個 bin 的直方圖,然后 - 以某種方式 - 將這些直方圖連接起來以獲得一個公共軸並將它們繪制在同一圖中。
我的數據看起來像一個隨着時間移動並變得更寬的高斯。 您可以使用以下代碼重現類似的內容:
mean = 0.0
std = 1.0
data = []
for t in range(30):
mean = mean + 0.01
std = std + 0.1
data.append(np.random.normal(loc=mean, scale=std, size=[10000]))
data = np.array(data)
與上面顯示的圖片類似的圖形將是最好的,但感謝任何幫助!
謝謝你,G。
使用直方圖? 你可以用 np.hist2d 做到這一點,但這種方式更清晰一點......
import matplotlib.pyplot as plt
import numpy as np
data = np.random.randn(30, 10000)
H = np.zeros((30, 40))
bins = np.linspace(-3, 3, 41)
for i in range(30):
H[i, :], _ = np.histogram(data[i, :], bins)
fig, ax = plt.subplots()
times = np.arange(30) * 0.1
pc = ax.pcolormesh(bins, times, H)
ax.set_xlabel('data bins')
ax.set_ylabel('time [s]')
fig.colorbar(pc, label='count')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.