RE: Legend Refactorings (Nathaniel G. Auvil)

"Chris McKay" <[email protected]> Wed, 23 Jun 2004 15:53:33 +1200
Newsgroups gmane.comp.krysalis.jcharts.devel
Message-ID <000601c458d5$aaad02c0$0300000a@Chris>
This is a multi-part message in MIME format.

------=_NextPart_000_0007_01C4593A.3FE1E2C0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit


There is bug at the moment with line and stacked bar combo legends where
the color gets out of order (see attached). It's down to bars not having
shapes ... Let me commit my fix first.

Otherwise I recall we had some issues with manually forcing multiple
columns when the legend labels got too wide. Does jCharts do this
automatically?

That plus the ability to switch legend off so the graphics wizard can do
the thing in HTML when he gets too clever. 


Message: 4
Date: Tue, 22 Jun 2004 06:29:11 -0700 (PDT)
From: "Nathaniel G. Auvil" <[email protected]>
To: Developers jCharts <[email protected]>
Subject: [jCharts-developers] Legend Refactorings
Reply-To: [email protected]


I am going to be looking into doing some refactorings of the Legend code
as it needs some cleaning and enhancements.

So if anyone has any input...that would be great.


------=_NextPart_000_0007_01C4593A.3FE1E2C0
Content-Type: image/png;
	name="DualYAxisChart.png"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="DualYAxisChart.png"

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
QgghQeX/B6cGMmcmnTIPAAAAAElFTkSuQmCC

------=_NextPart_000_0007_01C4593A.3FE1E2C0--




-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com