2010-08-10 59 views
0

我想要保持酒吧的宽度相同无论酒吧的数量比较高或低。 我正在使用Matplotlib堆积条形图。 酒吧的宽度是相对于酒吧的数量。 这是我的示例代码。无论图中我们比较的钢筋数量如何保持钢筋宽度相同?

我怎样才能使宽度相同的,无论我从1比作10

import numpy as np 
import matplotlib.pyplot as plt 




N =1 
ind = np.arange(N) # the x locations for the groups 
width = 0.35  # the width of the bars: can also be len(x) sequence 




design = [] 
arch = [] 
code = [] 

fig = plt.figure() 



b = [70] 
a= np.array([73]) 
c = [66] 




p1 = plt.bar(ind, a,width, color='#263F6A') 
p2 = plt.bar(ind, b, width, color='#3F9AC9', bottom=a) 
p3 = plt.bar(ind, c, width, color='#76787A', bottom=a+b) 


plt.ylabel('Scores') 
plt.title('CQI Index') 


plt.xticks(ind+width/2., ('P1'))#dynamic - fed 

plt.yticks(np.arange(0,300,15)) 


plt.legend((p1[0], p2[0], p3[0]), ('A','B','C')) 
plt.grid(True) 

plt.show() 

的条数谢谢

回答

2

条的宽度并没有改变,规模你的形象改变了。如果你想规模保持不变,你必须手动指定要显示什么范围,你的情节是否为10×10,100×100,或10亿×10

编辑:

如果我理解正确,你想要的是这样的:

图1 - 2条:

10 
+---------------------------+ 
|       | 
|       | 
|       | 
|       | 
|       | 
|  4_     | 
|  | |     | 
| 2_ | |     | 
| | | | |     | 
| | | | |     | 
+---------------------------+ 10 

图2 - 增加2个酒吧

10 
+---------------------------+ 
|       | 
|       | 
|     7_  | 
|     | |  | 
|     | |  | 
|  4_  | |  | 
|  | | 3_ | |  | 
| 2_ | | | | | |  | 
| | | | | | | | |  | 
| | | | | | | | |  | 
+---------------------------+ 10 

凡条的外观宽度并没有改变,从图1至图2.如果这是你想做的事,那么你就需要设置你的阴谋的规模是什么

你可以做与

import matplotlib 
matplotlib.use('GTKAgg') 

import matplotlib.pyplot as plt 
import gobject 

fig = plt.figure() 
ax = fig.add_subplot(111) 

def draw1(): 
    plt.bar(0,2) 
    plt.bar(2,4) 
    ax.set_xlim((0,10)) 
    ax.set_ylim((0,10)) 
    fig.canvas.draw() 
    return False 

def draw2(): 
    plt.bar(4,3) 
    plt.bar(6,7) 

    ax.set_xlim((0,10)) 
    ax.set_ylim((0,10)) 
    fig.canvas.draw() 
    return False 

draw1() 
gobject.timeout_add(1000, draw2) 
plt.show() 
+0

我同意,宽度总是在开始时指定的。 我实际上的意思是我想让刻度自动改变,以防止酒吧挤压以适应情节区域。 我的意思是绘图区应该是动态的。因此,不要将绘图区域划分为多个条形图,我们可以将一个图形区域添加到另一个图形区域直到10个图形区域。 – Atlas 2010-08-10 11:40:21

+0

我添加了一个编辑...是你在找什么? – 2010-08-10 14:42:31

+0

对不起,如果我没有明确表达自己。添加图形不是我正在寻找的功能。这是一个比喻。 我不想添加酒吧。我只是想解释一下,无论图中的条数是多少,宽度都应该看起来相同。他们不应该划分数字,否则我们需要的条数越多,我们得到的图形越小。 他们应该强迫这个数字扩大一点,让他们看起来是一样的。否则,如果我们绘制一个小节,它不应该像上面的示例那样占用整个空间。 谢谢 – Atlas 2010-08-10 15:09:01

相关问题