Я построил гистограмму, отражающую веса ячеек в matplotlib. Как видно из приведенной ниже гистограммы, цветное различие настолько размыто, что люди едва видят его. Возможно, это связано с тем, как я выбрал взвешивание очков.Как повысить чувствительность 2D-гистограммы в matplotlib?
Как увеличить «чувствительность» от гистограммы, чтобы она могла показывать различия между высокомощными областями и маломощными?
Редактировать
код прилагается по запросу:
def generateFreqMap(trajectories, pointWeightLists, representatives):
# these three lists are all in a one-to-one correpondance
xOfAllPoints = [point[0] for trajectory in trajectories for point in trajectory]
yOfAllPoints = [point[1] for trajectory in trajectories for point in trajectory]
weightsOfAllPoints =[pointWeight for pointWeightList in pointWeightLists for pointWeight in pointWeightList]
leftBound, rightBound, topBound, bottomBound = min(xOfAllPoints), max(xOfAllPoints), max(yOfAllPoints), min(yOfAllPoints)
# parameters for histogram
x_edges = np.linspace(int(mt.floor(leftBound)), int(mt.ceil(rightBound)), int(mt.ceil(rightBound))-int(mt.floor(leftBound))+1)
y_edges = np.linspace(int(mt.floor(bottomBound)), int(mt.ceil(topBound)), int(mt.ceil(topBound))-int(mt.floor(bottomBound))+1)
# construct the histogram
wcounts = np.histogram2d(xOfAllPoints, yOfAllPoints, bins=(x_edges, y_edges), normed=False, weights=weightsOfAllPoints)[0]
# wcounts is a 2D array, with each element representing the weighted count in a bins
# show histogram
extent = x_edges[0], x_edges[-1], y_edges[0], y_edges[-1]
imshow(np.transpose(wcounts), extent=extent, alpha=0.5, cmap=cm.summer) # alpha controls the transparency
plt.xlabel('x (m)')
plt.ylabel('y (m)')
plt.title('Histogram of %i Trajectories'%TRAJECTORY_NUMBER);
savefig(PROJECT_PATH + '\\data\\%i_histogram.svg'%len(trajectories))
return wcounts
Вес точки го составляет 0,995^я. Таким образом, вес 1-го пункта самый большой, составляет 1.
вы можете передать 'cmin' и' 'cmax' к plt.hist2d' для того, чтобы избежать прокладки бункеров под' cmin' и выше 'cmax', это может позволить вам сузить диапазон интерес ... –
@SaulloCastro действительно новичок здесь, не могли бы вы опубликовать его как полный ответ. Благодаря! –
Пожалуйста, разместите код, который вы используете, чтобы сгенерировать этот рисунок с помощью некоторых поддельных данных. – tacaswell