Python和科学计算认证群组  - 讨论区

标题:几个图无缝连接的技术怎么弄呀

2011年03月21日 星期一 17:37

再次请教高手,几个图无缝连接的技术怎么弄呀,另外中间有个竖条条的图是怎么画的。请高手指点一二。急

2011年03月21日 星期一 17:48

这么多图的话,用figure的add_axes()方法直接指定每个子图在图表中的位置和大小,让它们正好连在一起。

那个竖条图可以参考:

http://matplotlib.sourceforge.net/examples/pylab_examples/barh_demo.html

2011年03月21日 星期一 19:27

能举个例子吗

2011年03月21日 星期一 19:35

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7])
ax2 = fig.add_axes([0.55, 0.1, 0.4, 0.7])

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2*np.pi*x)
y2 = np.exp(-x)
l1, l2 = ax1.plot(x, y1, 'rs-', x, y2, 'go')

y3 = np.sin(4*np.pi*x)
y4 = np.exp(-2*x)
l3, l4 = ax2.plot(x, y3, 'yd-', x, y3, 'k^')

fig.legend((l1, l2), ('Line 1', 'Line 2'), 'upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), 'upper right')

plt.title('Annother plot using matplotlib',fontstyle='normal')
plt.savefig('add_axes.png')
#plt.savefig('matplotlib-169.svg')
plt.close()

2011年03月21日 星期一 19:36

发现发布消息后,不能编辑修改

2011年03月21日 星期一 19:40

我说的是这个图,有点不知道怎么下手

2011年03月21日 星期一 19:50

想通了

2011年03月21日 星期一 20:04

并排的图这么做:

import numpy as np

 

import matplotlib.pyplot as plt

 

fig = plt.figure()

ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7])

ax2 = fig.add_axes([0.5, 0.1, 0.4, 0.7])

ax2.yaxis.set_ticks_position("right")

fig.show()

 

2011年03月21日 星期一 20:13

方块图这么做:

import numpy as np

 

import matplotlib.pyplot as plt

 

fig = plt.figure()

plt.barh([0,1,2,4],[0.5,1,2,-0.5], align="center", height=[0.5,1.5,0.5,3.5], fill=False, edgecolor=["red","green","blue","black"])

plt.show()

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号