[reportlab-users] Bug in reportlab horizontal/vertical bar chart modules ????

Marcus Vinicius Laranjeira reportlab-users@reportlab.com
Fri, 12 Jul 2002 17:03:05 -0300


--=====================_27465586==_
Content-Type: text/plain; charset="us-ascii"; format=flowed

Robin,

Here is the code of the chart I am having problem:

from reportlab.lib import colors
from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.barcharts import HorizontalBarChart
from reportlab.graphics.charts.textlabels import Label
from reportlab.graphics import renderPM

def chooseColor():
     choosedColor = select(colorSet)
     if choosedColor is None:
         for color in colors.getAllNamedColors():
             colorSet.append(colors.getAllNamedColors()[color])
         choosedColor = select(colorSet)
     return choosedColor
	
def select(sequence):
     if sequence != []:
         elem = sequence[len(sequence)-1]
         sequence[len(sequence)-1] = -1
         del sequence[len(sequence)-1]
         return elem
     else:
         return None

colorSet = []

data = [[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],        # Data series 1
         [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],        # Data series 2
         [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],        # Data series 3
         [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],        # Data series 4
         [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],        # Data series 5
         [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],        # Data series 6
         [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0],        # Data series 7
         [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0],        # Data series 8
         [0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0],        # Data series 9
         [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0],        # Data series 10
         [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0],        # Data series 11
         [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0],        # Data series 12
         [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0],        # Data series 13
         [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]]        # Data series 14

labs = ['ITA',        # Data series 1
         'VOT',        # Data series 2
         'SAN',        # Data series 3
         'GES2',       # Data series 4
         'OSA-GES1',   # Data series 5
         'CID-ANA',    # Data series 6
         'GHP',        # Data series 7
         'CCT',        # Data series 8
         'JAU',        # Data series 9
         'BEB',        # Data series 10
         'SJB',        # Data series 11
         'SJR',        # Data series 12
         'GES16435',   # Data series 13
         'CES']        # Data series 14

drawing = Drawing(450, 550)
bc = HorizontalBarChart()
bc.x = 120
bc.y = 40
bc.height = 450
bc.width = 320
bc.data = data
m = 0
for l in data:
     maux = max(l)
     if maux > m:
         m = maux
bc.valueAxis.valueMin = 0
bc.valueAxis.valueMax = m + 1
bc.valueAxis.valueStep = 1
bc.valueAxis.rangeRound='both'
bc.categoryAxis.style = 'stacked'
bc.categoryAxis.configure(labs)
bc.categoryAxis.categoryNames = labs
bc.categoryAxis.labels.fontName = 'Helvetica'
bc.categoryAxis.labels.textAnchor = 'end'
for a in range(len(data[0])):
     bc.bars[a].fillColor = chooseColor()
drawing.add(bc)
renderPM.drawToFile(drawing, "ipa.jpg", 'JPG')

This code actually generates the chart with the black lines I told... I 
don't know how to fix it !!!

The data list is a list of lists... this was the only way I found to change 
the color of each bar instead of having the bars in only one color... If I 
use data with just one list then I receive an error telling me that there 
was just one data in the data series but was expecting 14... And then, I 
have to make the labs list as a list containing another list and this one 
with the 14 labels regarding to the data series... and this generates an 
equal chart, but this chart has just one color, and if I try to change the 
color for each bar, all bars will have the same color of the last bar I 
have changed its color...

I am trying to attach the actual jpg of the problem so you can better 
understand the problem I am telling.

I would appreciate any help !

Thanks,

Marcus
--=====================_27465586==_
Content-Type: image/jpeg; name="ipa.jpg";
 x-mac-type="4A504547"; x-mac-creator="4A565752"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ipa.jpg"

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAImAcIDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAorE1+51yyhmutNXTmt4IGkdbnfvLKCSBt4
xgCtOwuvtunW13s2efEkm3Odu4A4z360AWKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC
iiigAooooAKKKKACiiigAoorO1+W9g8OanNpql7+O0la2ULkmQISox35xxQBo0V5rq99o8GgXb6H
r95cTNZq8p/tGR0A82Mb5HyTE5yw428buDtGHTXVq2iqIdYsIQb1BJ5eu3FzDINj4SSfhoQSMjHB
Kgc5xQB1Xjh3i8AeI5I2ZHXS7llZTggiJsEGsbw14U0y58K6RPLJqZkksoXYjVbpRkoCeBJgfhUF
3di7+DniNlaVlSwv4wz3P2lThX+5KQC6DoGIzgc8iui8J/8AInaH/wBg+D/0WtY1m0lYaIP+EN0j
+/qn/g3u/wD45R/whukf39U/8G93/wDHK36Kw5pdxmB/whukf39U/wDBvd//AByj/hDdI/v6p/4N
7v8A+OVv0Uc0u4GB/wAIbpH9/VP/AAb3f/xyj/hDdI/v6p/4N7v/AOOVv0Uc0u4GB/whukf39U/8
G93/APHKP+EN0j+/qn/g3u//AI5W/RRzS7gcpq3hTTLbRr6eKXVVljt5HRv7WuuCFJB/1ldDorvJ
oOnSSMzO1rGWZjkklRyTUOu/8i9qX/XrL/6Aak0H/kXtM/69Iv8A0AVvRbd7iZoUUUVsIKKKKACi
iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK
KACiiigAooooAKKKKACiiigAooooAaEQZwqjccnjrR5abSuxcHqMdadRQBgeN42f4f8AiOKJCzNp
dyqqoySfKbAArH8NeLdIt/CujwSveCSOyhRgLCc4IQA8hMGtXxY2tjSr8afFp7Wv2OTzDcSOrg7W
zgBSOmO9aWg/8i9pn/XpF/6AKiUFLcLmZ/wmeif89bz/AMF9x/8AEUf8Jnon/PW8/wDBfcf/ABFd
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
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK
KKKAIha26ztOIIhM42tIEG5h6E9aIraCBESGCONUztVEAC564x0qWigDnvG8Q/4V/wCJljjG59Mu
iQo5Y+U35mvNND8R6RDoGmxSXqq6WsSsCrcEKM9q9K8WTa2mlX66fY6fNamzk8yS4vHidTtbOFET
A8Y/iH4da0tB/wCRe0z/AK9Iv/QBWkKnIa06rp7HmX/CUaL/AM/6f98t/hR/wlGi/wDP+n/fLf4V
67RWn1h9jX60+x5F/wAJRov/AD/p/wB8t/hR/wAJRov/AD/p/wB8t/hXrtFH1h9g+tPseRf8JRov
/P8Ap/3y3+FH/CUaL/z/AKf98t/hXrtFH1h9g+tPseRf8JRov/P+n/fLf4Uf8JRov/P+n/fLf4V6
7RR9YfYPrT7HiOv+ItJufDmqQQ3ivLJaSoihWyzFCAOleqeD43h8E6DHIjJImnW6srDBUiNcgj1r
aorOc+cyqVXU3CiiiszIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii
igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK4GTVJbTxM11PqMs1ud
R+zg294f3Y+75UlswAwDzvXLEfN0qpreuT3usxrp+oNLYzX1ui+Xem3RlNpPIR5i5K8hG98D1oA6
zxvI8PgHxHLG5SRNLuWVlOCCImwRXy/aeJPES2cCp4k1tVEagKuoSgAY6AbuK99uL2e++DfiVrmZ
pZorPUYS5kEnCiQKA4++AuBu6nHODmvnC2/49Yf9xf5V34GEZSfMrnp5bTjOUuZXNj/hJfEn/Qza
5/4MZv8A4qj/AISXxJ/0M2uf+DGb/wCKrMor0vY0/wCVHr/V6X8q+40/+El8Sf8AQza5/wCDGb/4
qj/hJfEn/Qza5/4MZv8A4qsyij2NP+VB9Xpfyr7jT/4SXxJ/0M2uf+DGb/4qj/hJfEn/AEM2uf8A
gxm/+KrMoo9jT/lQfV6X8q+40/8AhJfEn/Qza5/4MZv/AIqj/hJfEn/Qza5/4MZv/iqzKKPY0/5U
H1el/KvuL1x4o8Sx20rr4n1wMqEj/iYzdcf71fUfhK5nvfBmhXdzK0s8+n28kkjHlmaNSSfck18k
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
afcPZQ7HO67e+KNI8PalqSa9BI9nay3Co1goDFELYPze1dX4Z1GbV/Cmj6nchBPeWMFxIEGF3OgY
4Hpk1zXjT/kRPEP/AGDLn/0U1bXgT/knnhr/ALBVr/6KWumhNyTuc1aKi1Y6CiiitzEKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA
CiiigAooooAKKKKACiiigAooooAzV0DSksbqyWyjFtdStPNHzhpGIJb2OQMY6YGMYFFroOnWkF1D
HC7i6XZO80zyySLgjBdyWIAJwM8ZOK0qKAMDxdEkHw/12GJdscel3CqvoBEwFZfhj/kU9G/68YP/
AEWtaHi7VDa6RqFodJv7tJbKTdJDGrRgFWGGyw/HjoaqaL4I8JS6Fp8knhfRHd7aNmZtPiJJKjJJ
21lVp8/U0p1OToaFFN/4QTwf/wBCpof/AILof/iaP+EE8H/9Cpof/guh/wDiay+reZr9Y8h1FN/4
QTwf/wBCpof/AILof/iaP+EE8H/9Cpof/guh/wDiaPq3mH1jyHUU3/hBPB//AEKmh/8Aguh/+Jo/
4QTwf/0Kmh/+C6H/AOJo+reYfWPIdRTf+EE8H/8AQqaH/wCC6H/4mj/hBPB//QqaH/4Lof8A4mj6
t5h9Y8jF8af8iJ4h/wCwZc/+imra8Cf8k88Nf9gq1/8ARS0f8IJ4P/6FTQ//AAXQ/wDxNbkEENrb
xW9vEkMESBI441CqigYAAHAAHatqdPkVrmVSpzskooorQzCiiigAooooAKKKKACiiigAooooAKKK
KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo
AKKKKACisbVb29TWdP060lih+1wzsZHj37SmzHGR/eNYC+I9Us/CcupX+pWH2m4u2srUvD5UcbiZ
497EvyAqlyMjhTQB0fieRofCesyrjcljOwz6iNq57w9B4mn8NaVMmvWcayWcLBDpudoKA4z5nNW7
rV0174XahqSFMzaZP5gjbcqyBGV1B7gMCM+1W/Cn/In6J/14Qf8Aotaiba2KSIvsXij/AKGKz/8A
BZ/9to+xeKP+his//BZ/9trcoqOZjsjD+xeKP+his/8AwWf/AG2j7F4o/wChis//AAWf/ba3KKOZ
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
lX/UB1z/AMA//r0AdBRXP/8ACVf9QHXP/AP/AOvR/wAJV/1Adc/8A/8A69AHQUVz/wDwlX/UB1z/
AMA//r0f8JV/1Adc/wDAP/69AHQUVzk3i+OCGSaXQ9bSONSzMbPgADJPWt+CeO5t4riFt0UqB0bG
MgjIPNAElFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBU1T7MdMuY7uUxwSoYnYdfm+UA
deSTgDBySKNMFsumW8dpIZIIkESsevy/KQemCCCCMDBBqHW9Ok1PT0hiZVkjuYLhdxwGMUqybT6Z
24z2zmjQ9Pk0zT3hmdWkkuZ7htpyFMsrSbR643Yz3xmgDRooooAKKKKACiiigAooooAraikEmmXc
dy5S3aF1kdeqqQckfhRp0cMWmWkds5eBYUWN26soUYJ/Clv4XuNOuYItvmSRMi7jgZIIGTzTdNt5
LTSrS2m2+ZFCkb7DkZCgHBIHH4UAWqKKKACiiigAooooAKKKKAKmqfZzpV0l00iwSRmNzGpZ8N8v
ygAknngAHmm6Q9pJo9mbCbzrVYlSKQ9SFGOenPHPA5qTUDeixk/s5IHu8ARieQonXkkhWPAyenPt
1qPSbaS00yGCWGKGRc7kilMgySTncVUknOScDkmgC7RRRQAUUUUAFFFFABRRRQBV1NYH0u6juTII
ZImjcxKWfDDHygAknnjg03SWtW0ezNjKZrUQoIpD1ZQAAT05/CprvzvsziCNZJDgbWlMfBPPzAEg
4zj+nWq2i2EmmaPbWUkpkMKlQSxbC5O1cnk4GBk8nGT1oAv0UUUAFFFFABRRRQAUUUUAQXlvHd2N
xbzMViljZHYHBAIwTzUWktavo9mbGbzrQQqsUn95QMA/pS6lZvf2TW6XDQFiCXVQ2QDkgg8EHofa
q3h3TrjSNAs7C7nWeeFNrOowDz24FAGpRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF
FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU
UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB
RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/2Q==
--=====================_27465586==_--