Python 3中的颜色条

时间:2018-12-06 00:24:18

标签: python numpy matplotlib

我目前正在一个项目上,我似乎无法从左上角到右上角更改其颜色比例。在编辑图形底部的标签时,我也遇到了问题。我对编码还很陌生,主要是针对生物学数据,因此我为一个菜鸟问题表示歉意。

应该显示什么图像:

What image is supposed to look like

目前我的模样是什么

What mine currently looks like

代码:

data1 = np.random.randn(10000, 3)
data2 = np.random.randn(10000, 3) + 2
results1 = ttest_ind(data1, data2, axis=1)
data3 = np.random.randn(10000, 3)
data4 = np.random.randn(10000, 3)
results2 = ttest_ind(data3, data4, axis=1)

fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(8, 7))
axes[0,0].set(ylabel='Genes',yticks=[],xticks=[])
axes[1,0].set(ylabel='Genes',yticks=[],xticks=[0,1,2,3,4,5,6])
axes[0,1].set(ylabel='Frequency', ylim=(0,6000), yticks=[0, 2000, 4000, 6000], xticks=[])
axes[1,1].set(ylabel='Frequency',xlabel='p-value', ylim=(0,6000),yticks=[0, 2000, 4000, 6000],xticks=[0,0.25,0.5,0.75,1.0])

热图

axes[0][0].imshow(np.hstack((data1, data2)), aspect='auto', cmap='seismic', vmin=-5, vmax=5)
axes[1][0].imshow(np.hstack((data3, data4)), aspect='auto', cmap='seismic', vmin=-5, vmax=5)

im = ax.imshow(data, cmap='seismic', vmin=-4, vmax=4)
cax = fig.add_axes([0.1, 0.9, 0.3, 0.04])
fig.colorbar(im, cax=cax, orientation='horizontal')

1 个答案:

答案 0 :(得分:0)

我建议使用set_ticks方法,例如

cbar = fig.colorbar(im, cax=cax, orientation='horizontal')
cbar.set_ticks([-4, -2, 0, 2, 4])