python Matplotlib - 多图表对象?

时间:2011-08-23 16:03:17

标签: python matplotlib

如何使用matplotlib创建许多不同的图表对象,然后能够分别控制每个图表对象(不影响其他图表对象) )?

理想情况下,我希望得到以下内容:

#创建图表处理程序对象

chartHandler = ChartHandler()

#绘制图表的某些值#0

chartHandler [0] .plot(范围(0,100))

#绘制图表的一些值#5

chartHandler [5] .plot(范围(500,700))

1 个答案:

答案 0 :(得分:2)

除非您在谈论我尚未在matplotlib中处理过的事情,否则我认为您所寻找的是figure.add_subplot()。您应该能够捕获每个figure.add_subplot()的回报并从那时开始单独操作,有点像这样:

import matplotlib.pyplot as plt

#Create an 11x5 figure
fig = plt.figure(figsize=(11,5))

#Create subplots[0]
subplts = []
subplt = fig.add_subplot(121)
subplts.append(subplt)

#Create subplots[1:20]
for xind in range(4,8):
    for yind in range(0,5):
        subplt = fig.add_subplot(5,8,(yind*8+xind))
        subplts.append(subplt)

plt.show()

应该注意的是,上述脚本存在一些问题。主要是,子图略有重叠。这可以使用add_subplot的position关键字和一些简单的数学来解决。

在任何情况下,您现在都可以通过在subplots中引用其索引来修改每个子图。添加绘图,修改范围等应该非常简单。