У меня проблема с цветовой шкалой моего kdeplot. Он должен показывать процент в каждой корзине, начиная с 0%. Я пробовал два разных способа, но обе визуализации не совсем то, что мне нужно.
Версия с JointGrid действительно начинается с 0%, но не показывает другие значения для каждого цвета. Кроме того, мне нужно, чтобы «фон» был белым или хотя бы ярким (не черным, а затененным).
Версия с JointPlot отображает значения для каждого цвета, но не в процентах.
Вот код, который я использовал для создания визуализаций:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
x = np.random.normal(np.tile(np.random.uniform(-5, 35, 10), 1000), 4)
y = np.random.normal(np.tile(np.random.uniform(910, 1030, 10), 1000), 4)
data = pd.DataFrame(x,y)
1
g = sns.JointGrid(x, y, data=data, space=0, xlim=[10,40], ylim=[920,1020])
g = g.plot_joint(sns.kdeplot, cmap="Blues_d", shade=True, cbar=True, cbar_kws=
{'format':'%.0f%%','ticks': [0, 100]})
g = g.plot_marginals(sns.kdeplot, shade=True)
plt.subplots_adjust(left=0.1, right=0.8, top=0.9, bottom=0.1)
pos_joint_ax = g.ax_joint.get_position()
pos_marg_x_ax = g.ax_marg_x.get_position()
g.ax_joint.set_position([pos_joint_ax.x0, pos_joint_ax.y0, pos_marg_x_ax.width, pos_joint_ax.height])
g.fig.axes[-1].set_position([.83, pos_joint_ax.y0, .07, pos_joint_ax.height])
plt.show()
2
kdeplot = sns.jointplot(x, y, kind="kde", cbar=True, xlim=[10,40], ylim=[920,1020])
plt.subplots_adjust(left=0.1, right=0.8, top=0.9, bottom=0.1)
pos_joint_ax = kdeplot.ax_joint.get_position()
pos_marg_x_ax = kdeplot.ax_marg_x.get_position()
kdeplot.ax_joint.set_position([pos_joint_ax.x0, pos_joint_ax.y0, pos_marg_x_ax.width,
pos_joint_ax.height])
kdeplot.fig.axes[-1].set_position([.83, pos_joint_ax.y0, .07, pos_joint_ax.height])
plt.show()
Может кто-нибудь помочь мне здесь, пожалуйста? Я действительно потерян.