gpt4 book ai didi

python - 将颜色条定位在二维直方图上方(而不是下方)

转载 作者:行者123 更新时间:2023-12-04 10:50:45 24 4
gpt4 key购买 nike

我有一个 2d 直方图,显示效果很好,我想将颜色条定位在图表的顶部,而不是它当前所在的下方。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

%matplotlib inline
%config InlineBackend.figure_format = 'retina'

fuel_econ = pd.read_csv('./data/fuel_econ.csv')

bins_x = np.arange(0.6, fuel_econ['displ'].max()+0.3, 0.3)
bins_y = np.arange(0, fuel_econ['co2'].max()+40, 40)

plt.hist2d(data = fuel_econ, x = 'displ', y = 'co2', bins = [bins_x, bins_y],
cmap = 'plasma_r', cmin = 0.9)

plt.colorbar(orientation='horizontal')
plt.xlabel('Displacement (l)')
plt.ylabel('CO2 (g/mi)')

Histogram

浏览文档,我找不到任何东西。谢谢你的想法。

最佳答案

官方 matplotlib 文档有一个使用 'axes divider' 的示例在顶部放置一个颜色条。

这是您改编的代码,以及一些随机数据以获得独立示例:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
from mpl_toolkits.axes_grid1.colorbar import colorbar

N = 10000
fuel_econ = pd.DataFrame({'displ': np.random.uniform(0.6, 7, N), 'co2': np.zeros(N)})
fuel_econ.co2 = np.random.normal(fuel_econ.displ*100+100, 100)

bins_x = np.arange(0.6, fuel_econ['displ'].max() + 0.3, 0.3)
bins_y = np.arange(0, fuel_econ['co2'].max() + 40, 40)

hist = plt.hist2d(data=fuel_econ, x='displ', y='co2', bins=[bins_x, bins_y],
cmap='plasma_r', cmin=0.9)
plt.xlabel('Displacement (l)')
plt.ylabel('CO2 (g/mi)')

ax = plt.gca()
ax_divider = make_axes_locatable(ax)
# define size and padding of axes for colorbar
cax = ax_divider.append_axes('top', size='5%', pad='4%')
# you need to get a mappable obj (get_children)
colorbar(ax.get_children()[0], cax=cax, orientation='horizontal')
# locate colorbar ticks (default is at the botttom)
cax.xaxis.set_ticks_position('top')

plt.show()

example plot

关于python - 将颜色条定位在二维直方图上方(而不是下方),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59481677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com