Eu tenho um gráfico de dispersão que estou fazendo, mas quando alterno mcolors.Normalize
e mcolors.LogNorm
a barra de cores não é consistente entre as duas figuras - eu pensaria que os ticks da barra de cores normalizados seriam aproximadamente os mesmos que os ticks log-normalizados (por exemplo, em intervalos principais de 10 ^ 1, 10 ^ 2, 10 ^ 3, etc). Não é este o caso? Em outras palavras - as barras coloridas estão me dando a mesma resposta? Desde já, obrigado!
import matplotlib.pyplot as plt # v3.5.2
import seaborn as sns # v0.11.2
import numpy as np # v1.22.1
import matplotlib.colors as mcolors
# generate data
x = np.random.normal(size=100000)
y = x * 3 + np.random.normal(size=100000)
def scatter2d(x, y, norm=mcolors.LogNorm):
"""Create a plt.2dhist with marginal histogram."""
ax1 = sns.jointplot(x=x, y=y, marginal_kws={'bins' : 50})
ax1.fig.set_size_inches(5, 4)
ax1.ax_joint.cla()
plt.sca(ax1.ax_joint)
plt.hist2d(x, y, 50, norm=norm(), cmin=1,
cmap='plasma', range=None )
# set up scale bar legend
cbar_ax = ax1.fig.add_axes([1, 0.1, 0.03, 0.7])
cb = plt.colorbar(cax=cbar_ax)
cb.set_label(f'Density of points ({norm.__name__})', fontsize=13)
pass
scatter2d(x, y)
scatter2d(x, y, norm=mcolors.Normalize)