亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果某個值高于或低于平均值,則制作二維直方圖?

如果某個值高于或低于平均值,則制作二維直方圖?

大話西游666 2022-06-14 16:51:47
我制作了兩個變量(x 和 y)的二維直方圖,每個變量都是長的一維數組。然后我計算了每個 bin 中 x 的平均值,并希望讓顏色條顯示每個 x 在相應 bin 中高于或低于平均值的程度。到目前為止,我已經嘗試創建一個新數組 z,其中包含每個 x 高于/低于平均值的值。當我嘗試將它與 pcolormesh 一起使用時,我遇到了它不是二維數組的問題。我還嘗試通過遵循此問題的解決方案來解決此問題(Using pcolormesh with 3 one dimensional arrays in python)。在這種情況下,每個數組(x、y 和 z)的長度相等,并且每個 x 值都有相應的 z 值。我的總體目標是讓顏色條不依賴于計數,而是讓它顯示每個 x 值與 bin 的平均 x 相比高于/低于平均值多少。我懷疑僅繪制 x 與 z 可能更有意義,但我認為這不會解決我的顏色條問題。
查看完整描述

1 回答

?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

正如 LoneWanderer 提到的,一些示例代碼會很有用;但是,讓我嘗試一下您想要的。


import numpy as np

import matplotlib.pyplot as plt


N = 10000

x = np.random.uniform(0, 1, N)

y = np.random.uniform(0, 1, N) # Generating x and y data (you will already have this)


# Histogram data

xbins = np.linspace(0, 1, 100)

ybins = np.linspace(0, 1, 100)

hdata, xedges, yedged = np.histogram2d(x, y, bins=(xbins, ybins))


# compute the histogram average value and the difference

hdataMean = np.mean(hdata)

hdataRelDifference = (hdata - hdataMean) / hdataMean


# Plot the relative difference

fig, ax = plt.subplots(1, 1)

cax = ax.imshow(hdataRelDifference)

fig.colorbar(cax, ax=ax)

如果這不是你想要的,希望這里有足夠的部分來適應你的需要。


查看完整回答
反對 回復 2022-06-14
  • 1 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號