垂直对齐matplotlib中的两个图,前提是一个是imshow图?

马克·亚历克斯

我想对齐两个图的x轴,前提是其中一个是imshow图。

我尝试使用gridspec如下方法:

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.gridspec as grd

v1 = np.random.rand(50,150)
v2 = np.random.rand(150)

fig = plt.figure()

gs = grd.GridSpec(2,1,height_ratios=[1,10],wspace=0)


ax = plt.subplot(gs[1])
p = ax.imshow(v1,interpolation='nearest')
cb = plt.colorbar(p,shrink=0.5)
plt.xlabel('Day')
plt.ylabel('Depth')
cb.set_label('RWU')
plt.xlim(1,140)

#Plot 2
ax2 = plt.subplot(gs[0])
ax2.spines['right'].set_visible(False)
ax2.spines['top'].set_visible(False)
ax2.xaxis.set_ticks_position('bottom')
ax2.yaxis.set_ticks_position('left')
x=np.arange(1,151,1)
ax2.plot(x,v2,'k',lw=0.5)
plt.xlim(1,140)
plt.ylim(0,1.1)
#
plt.savefig("ex.pdf", bbox_inches='tight') 

我还希望这些图尽可能彼此靠近,并且一个高度是另一个高度的1/10。如果我取出颜色条,它们似乎对齐,但仍然不能将它们彼此靠近。我也想要颜色条。

莫莉

图像没有填满空间,因为图形的长宽比与轴不同。一种选择是更改图像的纵横比。您可以使用二乘二网格并在其自己的轴上放置颜色条,以使图像和折线图对齐。

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.gridspec as grd

v1 = np.random.rand(50,150)
v2 = np.random.rand(150)

fig = plt.figure()

# create a 2 X 2 grid 
gs = grd.GridSpec(2, 2, height_ratios=[1,10], width_ratios=[6,1], wspace=0.1)

# image plot
ax = plt.subplot(gs[2])
p = ax.imshow(v1,interpolation='nearest',aspect='auto') # set the aspect ratio to auto to fill the space. 
plt.xlabel('Day')
plt.ylabel('Depth')
plt.xlim(1,140)

# color bar in it's own axis
colorAx = plt.subplot(gs[3])
cb = plt.colorbar(p, cax = colorAx)
cb.set_label('RWU')

# line plot
ax2 = plt.subplot(gs[0])

ax2.spines['right'].set_visible(False)
ax2.spines['top'].set_visible(False)
ax2.xaxis.set_ticks_position('bottom')
ax2.yaxis.set_ticks_position('left')
ax2.set_yticks([0,1])
x=np.arange(1,151,1)
ax2.plot(x,v2,'k',lw=0.5)
plt.xlim(1,140)
plt.ylim(0,1.1)

plt.show()

使用颜色条对齐图像和线条图

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

垂直对齐matplotlib中的两个图,前提是其中一个是imshow图?

来自分类Dev

对齐两个组合图-Matplotlib

来自分类Dev

使用grid.draw删除两个垂直对齐的ggplot图之间的空间

来自分类Dev

如何从两个列表中创建堆叠条形图:考虑一个是集群,另一个是标志

来自分类Dev

同一imshow matplotlib中的两个不同的颜色颜色图

来自分类Dev

同一imshow matplotlib中的两个不同的颜色颜色图

来自分类Dev

如何在中心垂直对齐两个div,在底部保持一个div?

来自分类Dev

如何在中心垂直对齐两个div,在底部保持一个div?

来自分类Dev

在一个gnuplot中绘制两个图

来自分类Dev

垂直对齐两个元素

来自分类Dev

垂直对齐表格中两个div的内容

来自分类Dev

在Word中垂直对齐两个图像

来自分类Dev

垂直对齐div中的最后一个元素

来自分类Dev

流体-垂直对齐所有元素,两个元素左右放置,一个在中心

来自分类Dev

如何在乳胶中对齐两个tikzpicture图

来自分类Dev

高图:一个传说,两个图表

来自分类Dev

在一个图中显示两个不同的图

来自分类Dev

在一个图中绘制两个图

来自分类Dev

一个绘图中的两个图 matlab

来自分类Dev

垂直对齐两个内联块元素

来自分类Dev

两个md列与Bootstrap的垂直对齐

来自分类Dev

垂直对齐两个弹性项目

来自分类Dev

两个div的垂直对齐问题

来自分类Dev

Bootstrap垂直对齐两个偏移的列

来自分类Dev

有小腿使两个DIV垂直对齐

来自分类Dev

如何垂直对齐两个div的内容?

来自分类Dev

两个内联块div的垂直对齐

来自分类Dev

两个md列与Bootstrap的垂直对齐

来自分类Dev

在图像旁边垂直对齐的两个div

Related 相关文章

热门标签

归档