为了账号安全,请及时绑定邮箱和手机立即绑定

使用颜色图图例绘制条形图

使用颜色图图例绘制条形图

杨__羊羊 2023-12-05 15:22:18
考虑以下:import matplotlib.pyplot as pltfrom matplotlib import cmimport numpy as npy = np.array([1, 4, 3, 2, 7, 11])colors = cm.hsv(y / float(max(y)))plot = plt.scatter(y, y, c = y, cmap = 'hsv')plt.clf()plt.colorbar(plot)plt.bar(range(len(y)), y, color = colors)plt.show()我希望颜色图图例出现在图表的右上角(当然要小得多)。目前我的图像看起来相当笨重,因为颜色图与实际的条形有些冲突。
查看完整描述

1 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

按照这个答案:

import matplotlib.pyplot as plt

from matplotlib import cm

import numpy as np

from mpl_toolkits.axes_grid1.inset_locator import inset_axes


y = np.array([1, 4, 3, 2, 7, 11])

colors = cm.hsv(y / float(max(y)))


fig, ax = plt.subplots()

plot = ax.scatter(y, y, c = y, cmap = 'hsv')

plt.cla()

ax.bar(range(len(y)), y, color = colors)


cbaxes = inset_axes(ax, width="30%", height="3%", loc=2)

plt.colorbar(plot, cax=cbaxes, orientation='horizontal', ticks=[0,2,4,6,8,10])

我用来plt.subplots轻松引用轴 ( ax)。您可以通过编辑最后两行来移动颜色条并更改其大小(例如,loc可以设置您希望颜色条位于哪个角)。


查看完整回答
反对 回复 2023-12-05
  • 1 回答
  • 0 关注
  • 51 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信