我使用数据框 plot
方法绘制了一个图形:
ax = df1.plot(x='Lat', y='Lon', kind='scatter', c='Thickness')
结果是一个散点图,其中的点被缩放到
c='Thickness'
中的参数集。图表旁边的颜色条会自动接收标签 Thickness
。我想改变它。我知道 colorbar 方法
set_label
,但我不知道如何从 pandas 的 ax
函数返回的 plot
访问 colorbar 对象。如何访问图中的颜色条对象以更改其标签?
为了澄清,我添加了图表的图片。我有兴趣更改颜色条的标签。
最佳答案
使用 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
关于python - 更改 Pandas 图的颜色条,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37561953/