2016-06-01 1 views
3

Я построен график, используя метод dataframe plot:Изменения Colorbar панд участок

ax = df1.plot(x='Lat', y='Lon', kind='scatter', c='Thickness') 

В результате получается графиком рассеяния, где точки масштабируются до набора параметров в c='Thickness'. Цветная панель рядом с графиком автоматически получает метку Thickness. Я бы хотел изменить его.

Я знаю о методе Colorbar set_label, но я не знаю, как получить доступ к объекту Colorbar из ax возвращенного plot функции панд.

Как я могу получить доступ к объекту colorbar на графике, чтобы изменить его метку?


Чтобы уточнить, я добавил изображение графика. Меня интересует изменение ярлыка цветной панели. enter image description here

+0

ли 'Thickness' параметр категоричны? – IanS

+0

Нет, данные состоят из цифр. Все удваивается. –

+0

Итак, вы хотите изменить «Толщина» на что-то еще, не так ли? – IanS

ответ

1

Сложно использовать pandas для установки метки colorbar. Вы можете использовать matplotlib.pyplot непосредственно, это пример

import numpy as np 
import matplotlib.pyplot as plt 

np.random.seed(0) 
n = 100000 
x = np.random.standard_normal(n) 
y = 2.0 + 3.0 * x + 4.0 * np.random.standard_normal(n) 
xmin = x.min() 
xmax = x.max() 
ymin = y.min() 
ymax = y.max() 

fig, axs = plt.subplots(ncols=2, sharey=True, figsize=(7, 4)) 
fig.subplots_adjust(hspace=0.5, left=0.07, right=0.93) 
ax = axs[0] 
hb = ax.hexbin(x, y, gridsize=50, cmap='inferno') 
ax.axis([xmin, xmax, ymin, ymax]) 
ax.set_title("Hexagon binning") 
cb = fig.colorbar(hb, ax=ax) 
cb.set_label('counts') 

ax = axs[1] 
hb = ax.hexbin(x, y, gridsize=50, bins='log', cmap='inferno') 
ax.axis([xmin, xmax, ymin, ymax]) 
ax.set_title("With a log color scale") 
cb = fig.colorbar(hb, ax=ax) 
cb.set_label('log10(N)') 

plt.show() 

исх: http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.hexbin