Изменить размер шестнадцатеричного на основе частоты - PullRequest
1 голос
/ 05 апреля 2020

У меня есть следующий код, который создает следующий график с hexbins. Для контекста, df ['PCT_DIFF'] находится в диапазоне [0,1]. Это столбец, которым я буду окрашивать каждую область графика.

import matplotlib as plt
import pandas as pd

fig, ax = plt.subplots(figsize=(10,10))    
ax.hexbin(df['X'], df['Y'],C=df['PCT_DIFF'],bins=20, gridsize=50, \
            cmap=cm.get_cmap('RdYlBu_r', 10), edgecolors='black')

hexbins

Это исходный график с каждой нанесенной точкой

plt.scatter(df['X'], df['Y'], s=10, marker='o', c='#007A33')

orig plot

Я хотел бы изменить размер гексов на первом изображении на основе плотности точек, показанных на втором изображении.

Я пробовал это решение , но это то, что было показано. Я передал cm.get_cmap () и edgecolors в PatchCollection () в методе size_hexbin

fig, ax = plt.subplots(figsize=(10,10))
hexbin = ax.hexbin(df['X'], df['Y'],C=df['PCT_DIFF'], bins=20, gridsize=50, extent=[-275, 275, -50, 425])
sized_hexbin(ax,hexbin)

proposed solution

Сравнение этого графика со вторым похоже, плотность не правильная. Гексы под корзиной должны быть больше, и слева от корзины, где есть точки, нет гексов. Любая помощь приветствуется!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...