Bir yılın 365 gününü birkaç kümeye atadım ve şimdi bunları bir ısı eşlemesinde çizmeye çalışıyorum.Matplotlib: cbar.set_xticklabels efekt içermiyor
Kodum cbar.set_ticks (some_range) dışında çalışıyor hiçbir etkileri vardır: im etiketleri benim Colorbar sağ metin ama yanlış pozisyon İşte
bir MCVE
from datetime import date
import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import matplotlib
import seaborn as sns
#create some random data
n_cluster = 4
index = pd.date_range('01/01/2016', end='31/12/2016', freq='1D')
df = pd.DataFrame(np.random.randint(0, n_cluster, len(index)),
index=index, columns=['cluster'])
pivot = df.pivot_table('cluster',
columns=[lambda x: x.weekofyear],
index= [lambda x: x.dayofweek])
#yticklabels of the heatmap
days = [date(2018, 1, d).strftime('%a')[:3] for d in range(1, 8)]
#get a discrete cmap
cmap = plt.cm.get_cmap('RdBu', n_cluster)
fig = plt.figure(figsize=(10,3))
gs = matplotlib.gridspec.GridSpec(1, 2, width_ratios=[50,1])
ax = plt.subplot(gs[0])
cbar = plt.subplot(gs[1])
sns.heatmap(pivot, square=True, cmap=cmap,
yticklabels=days, ax=ax, cbar_ax=cbar)
#There is something wrong here
cbar.set_yticks([i + 1/(2.0*n_cluster) for i in np.arange(0, 1, 1.0/n_cluster)])
#This one is ok
cbar.set_yticklabels(range(0, n_cluster))
olduğunu var Yardımlarınız çözüm olarak
Nerede im etiketleri olmak istiyorsun? – kazemakase
Koyu mavi yamanın ortasındaki "3" gibi renkli yamalar ile hizalanmasını istiyorum. Sırasıyla renk çubuğunun toplam yüksekliğinin [0.125, 0.375, 0.625, 0.875] 'de. – jodoox
Bir şekilde deniz kuşağı kene pozisyonlarını zorlar gibi görünüyor. Gelecekte belki de 'cbar_kws' argümanında colorbar kenelerini ayarlamak mümkün olacaktır, ancak bu şu anda '' ticks '' için kırılmıştır (https://github.com/mwaskom/seaborn/ sorunların/459)). – kazemakase