matplotlib에서 밀도로 채색 된 분산 형 플롯을 만들려면 어떻게해야합니까? 컬러 막대를 그릴 때 밀도 스케일을 표시하지만 대신 카운트/백분율을 원합니다. 밀도 계산을 빈도 카운트로 변환하는 방법은 무엇입니까? 사람이 종이에 표시된 것과 유사한 플롯을 그릴 나를 인도 할 수있는 경우 https://www.atmos-meas-tech.net/9/3293/2016/amt-9-3293-2016.pdf2D 밀도 또는 주파수 분포도 파이썬에서
, 정말 도움이 될 것입니다 :
예상 결과는 본 논문의 8 페이지의 그림 3이다. 미리 감사드립니다.
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import gaussian_kde
# Generate fake data
x = np.random.normal(size=1000)
y = x * 3 + np.random.normal(size=1000)
# Calculate the point density
xy = np.vstack([x,y])
z = gaussian_kde(xy)(xy)
fig, ax = plt.subplots()
cax=ax.scatter(x, y, c=z, s=10, cmap=plt.cm.jet)
cbar = fig.colorbar(cax)
plt.show()
또 다른 방법은 시도 :
#libraries
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import kde
# create data
x = np.random.normal(size=500)
y = x * 3 + np.random.normal(size=500)
# Evaluate a gaussian kde on a regular grid of nbins x nbins over
nbins=50
k = kde.gaussian_kde([x,y])
xi, yi = np.mgrid[min(x):max(x):nbins*1j, min(y):max(y):nbins*1j]
zi = k(np.vstack([xi.flatten(), yi.flatten()]))
# Add color bar
plt.pcolormesh(xi, yi, zi.reshape(xi.shape), cmap=plt.cm.jet)
plt.colorbar()
plt.show()
히스토그램, 그냥 그리드에 KDE를 샘플링 것 아니에요
수는 bin 크기에 묶여 있습니다. 그래서 어떤 종류의 히스토그램을 만들지 않으면 질문이 많은 의미를 갖지 않는 것 같습니다. – Julien
@Julien 친절하게도 몇 가지 해결책을 제안 할 수 있습니까? 이에? –
글쎄, 내가 말했듯이 : 빈 크기를 정의하고 히스토그램을 생성 ... – Julien