CFCHART and the Case of the Disappearing Labels

A user reported an odd problem today. She was using Soundings, my ColdFusion survey application, and noticed something odd. She would do a report and the chart would be missing data! Here is an example:

This chart should have 9 items, even though some are blank, but we only see 5 labels. I did a quick google check and found out this was a known bug:

http://cfchart.blogspot.com/2005/06/charting-technote-addendum.html

Turns out that in earlier versions of CF, the labels were rotated, but a designer (darn designers!) decided that horizontal labels made more sense. I agree - but it would be nice if CF would automatically rotate them instead of just dropped them.

So I decided to make a quick XML file. From the URL above I saw that I needed to use this XML:

<xAxis> <labelStyle isHideOverlapped="true" orientation="Horizontal"/> <titleStyle font="Arial-12-bold" isMultiline="false"/> </xAxis>

I didn’t want to modify the core style files since that wouldn’t be a solution for Soundings. According to the docs, you can use either an XML file or a string to specify style information. However, now matter what I did I couldn’t get it to work. So I switched to an XML file using just the code above. This still didn’t work. However, now I figured it was because I wasn’t specifying a “full” style.

Now I was worried. I really did not want to specify 100 styles just to tweak one small little thing. I loaded up the WebCharts style editor. (Everyone knows about that, right? More info can be found here.) First - while this is a cool tool, I had trouble finding a “simple” bar chart. I made my best guess and took a look the XML. Turns out - the file was very simple. Even better, I was able to figure out why my XML above was missing. I changed it to this:

<?xml version="1.0" encoding="UTF-8"?> <frameChart> <xAxis> <labelStyle isHideOverlapped="false" orientation="Vertical"/> <titleStyle font="Arial-12-bold" isMultiline="false"/> </xAxis> </frameChart>

And that alone was enough to fix the problem. Here is the chart as it appears now:

As you can see, I lost the black borders and text, but to be honest it doesn’t really bug me much.

Raymond Camden's Picture

About Raymond Camden

Raymond is a developer advocate. He focuses on JavaScript, serverless and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can even buy me a coffee!

Lafayette, LA https://www.raymondcamden.com

Comments