Chart label length clipping problem

I have a generic chart rendering app.  It works fine for most charts, but I am getting some really wierd results when I use a logAxis.  It is clipping the chart on the right side.  Does anyone know how to fix this problem?
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" styleName="panelfilled" roundedBottomCorners="true" horizontalAlign="center"
paddingLeft="10" paddingRight="20" paddingBottom="10" paddingTop="35" resizeEffect="Resize" id="chartPanel">
<mx:Metadata>
[Event(name="chartDrawn", type="flash.events.Event")]
</mx:Metadata>
<mx:Style>
.panelfilled  {
            border-style: solid;
            border-thickness: 0;
            border-skin: ClassReference("border.SimpleGradientBorder");
            fill-colors: #FFFFFF, #FFFFFF;
            corner-radius: 20;
</mx:Style>
</mx:Panel>
public function makeLogChart(genericChart:CartesianChart,
            genericLegend:Legend, chart:ChartObject):void {
            var axisList:ArrayCollection = chart.getAxisList();
            var renderers:ArrayCollection = new ArrayCollection();
            var seriesArray:ArrayCollection = new ArrayCollection();
                        var xAxis:AxisObject = axisList.getItemAt(0) as AxisObject;
            var ar:AxisRenderer = new AxisRenderer();
                        var hAxis:DateTimeAxis = new DateTimeAxis();
hAxis.labelUnits = xAxis.getAxisUnits().toLowerCase();
hAxis.labelFunction = fullTimeLabelFunction;
        // more formating of the horizontal axis
    ar.axis = hAxis;
    ar.setStyle("canDropLabels", "true");
    genericChart.horizontalAxisRenderers = [ar];
    genericChart.horizontalAxis = hAxis;
    for (var i:int=1; i<axisList.length; i++) {
    var axis:AxisObject = axisList.getItemAt(i) as AxisObject;
// Define vertical axis
        var vAxis:LogAxis = new LogAxis();
        vAxis.baseAtZero = false;
            vAxis.title = axis.title;
    // formatting for charts for different axes
if (axis.min != axis.max) {
        vAxis.minimum = axis.min;
        vAxis.maximum = axis.max;
// more formatting of the axis
        var axr:AxisRenderer = new AxisRenderer();
    axr.axis = vAxis;
    // flip left axis
    if (axis.getLocation() == "left") {
    axr.setStyle("verticalAxisTitleAlignment", "vertical");
    axr.setStyle("canDropLabels", "true");
    axr.setStyle("tickPlacement", "none");
    var colRatio:Number = 1.0/axis.getSeriesList().length;
        for (var j:int=0; j<axis.getSeriesList().length; j++) {
        var ser:SeriesObject = axis.getSeriesList().getItemAt(j) as SeriesObject;
        var col:uint = new uint(new Number(ser.getColor()));
        var stroke:Stroke = new Stroke();
        if (axis.getSeriesList().length == 1) axr.setStyle("color", col);
        stroke.color = col;
       var lineSeries:LineSeries = new LineSeries();
        lineSeries.setStyle("showDataEffect", rearrangeData);        
BindingUtils.bindProperty(lineSeries, "dataProvider", ser, "pointList");
        lineSeries.xField="point1";
        lineSeries.yField="point2";
stroke.weight = 3;
lineSeries.verticalAxis = vAxis;
lineSeries.horizontalAxis = hAxis;
        lineSeries.displayName = ser.name;
        lineSeries.setStyle("lineStroke", stroke);
        seriesArray.addItem(lineSeries);
        renderers.addItem(axr);
    genericChart.series = seriesArray.toArray().reverse();
    genericChart.verticalAxisRenderers = renderers.toArray();
            genericChart.percentHeight = 100;
   genericLegend.dataProvider = genericChart;
genericLegend.direction = "horizontal";
   chartPanel.horizontalScrollPolicy = "off";
chartPanel.addChild(genericChart);
chartPanel.addChild(genericLegend);

Yes, it's a custom object.  It has a Java counterpart as well.  Here is the shell of the object (with accessor methods ommitted):
package factory.data {
import mx.collections.ArrayCollection;
    [Bindable]
    [RemoteClass(alias="factory.data.AxisObject")]
    public class AxisObject {
public var title:String;
public var ID:String;
public var min:Number=0;
public var max:Number=0;
public var autoScale:Boolean;
public var location:String;
public var seriesList:ArrayCollection;
public var axisType:String = "Numeric";
public var axisUnits:String="Day";
public var categoryType:String="N";

Similar Messages

  • SVG bar chart label length

    There seems to be a display limit of 15 chars on the length of labels for a SVG bar chart.
    Any known workarounds ?

    hi patrick--
    i'm not seeing this limit in my tests. i tried both vertical and horizontal bar charts and was able to display labels like ename||ename||ename||ename||ename w/o issues. if you're still hitting it, could you please describe where/how your hitting that 15 character limit?
    thanks,
    raj

  • Chart label length limitation?

    Is there a limitation on the length of x- or y-axis label for a SVG chart? The chart on my page has x-axis
    label truncated to 15 characters long.

    Me too, in my SVG pie chart, the last row legend text was truncated. just like:
    deal size > 70k - 92.5%
    deal size
    I actually expected in the second row, deal size <= 70k ...
    What happened? and how can I control this, moreover the legend was displayed in the left upper of the region and cost a lot width in my screen. Can I change to display the legend in other place, eg. the bottom of the region or the chart?
    Anyone can help us about this?

  • Bubble Chart with legend changes axis dimensions according to labels length

    I have a Bubble Chart with legend on the right. Data are by series and  the series are set  dynamically with a  drop down combo which replace the content of each series from time to time.  Every time the series changes, also the name of the series changes and the legend on the right  shows the new series names. The problem is that also the x axis dimension changes according to the new labels size, so the bubble chart changes its axis width in relation to the labels length in the legend. Is its possible to make somehow the bubble chart axis of a fixed lenght?
    Xcelsius 2008, SP4, Windows XP
    Thanks in advance

    Hi Matt,
    I just got a chance to try out your suggestions, and the
    chart that is right in the main application renders the labels
    fine, but the exact same code loaded in as a module doesn't. And it
    never does, not even if the scale changes. Do you know why that
    would be?
    Mukul

  • Why do i get crashes when setting chart history length

    I am trying to figure out how to get my chart to eat up less memory. At the moment it is capturing from 4 channels at 44100 samples/sec. It is a continuous capture and after a few minutes, the computer just runs out of memory and can no longer keep up with the capture, at which point the Vi quits. Opening up task manager, I noticed that as I capture, the memory gets chewed up really quickly, but when I stop my VI the used memory is not reclaimed. Even if I set the chart history to an empty array when the VI stops. I tried setting the chart history to a smaller number but whenever I set it below 512 the whole computer crashes.

    I have seen similar problems. I created a simple VI to test this and am continously getting LabView crashes when I try and write an intensity chart history to an array.
    First frame of the vi sequence generates a 100 random number array for the intensity chart display. The next frame in the sequence has the property node for chart history (of the intensity chart)set to read mode and it is wired to a two deminsional array.
    So, I generate psuedo chart data and then try to recover the history into an array. It crashes every time. No matter where I set the chart history length. I attempted to do as you had previously suggested and store the data to a file. Same response.... Crashes LabView. Local and online help have not been very hel
    pful. Will search the hardcopy literature now.
    thanx
    WLS
    Attached VI
    Attachments:
    history_grabber.vi ‏22 KB

  • Chart Labels displays correctly in Visual Studio Preview but shows incorrectly in Report Manager after deployment

    Hi,
    We have built a SSRS report which contains a chart and a tablix. The chart labels (Male and Female) is displayed correctly in the Visual Studio Preview but in the Report Manager it displays as Female and Female. 
    These are the following things which we have tried to fix it:
    Deleted and redeployed the report
    Restarted the Report Server
    Checked the report caching. There is no cache for this report.
    We use SQL Server 2012 and Visual Studio 2010.
    Any help is very much appreciated.
    Thanks,
    AJ

    Hi AJ,
    Per my understanding that you have two label "Male and Female" which display correctly in the Visual Studio 2010 but not correct in the Report Manager, right?
    As you have mentioned that you have checked the report caching, please make sure you have set the  "Do not cache temporary copies of this report" in report manager and also check to delete the rdl.data cache file under the project if you have
    which path like:
    \Visual Studio 2008\Projects\Report Project
    If possible, please try to create an new report the same as this one to have a double check.
    If you still have any problem, please feel free to ask.
    Regards,
    Vicky Liu
    Vicky Liu
    TechNet Community Support

  • Obiee 10g chart label size

    Does anyone know how to change the size of the chart labels??
    I'm trying to show some labels that are automatically trimmed (the label gets like this in the end ...), in the chart properties I can't find where I change this, probably this is a default number of chars per label?

    It seems that leaving the truncate value by default, in the format text from Titles and Labels properties, was the problem. I set it to a large value and my problem was solved.
    Hope it helps anyone.

  • Programmatically changing chart history length

    I'm creating a VI where the user can choose the data sample rate via the wait(ms) used in a while loop. However changing the sample rate effects the time length being displayed on the chart. This is dependent on the chart history length, originally I thought I could just change this programmatically, but the history length doesn't appear on the property node.
    I've had a look at the advice in the ni support section:
    http://digital.ni.com/public.nsf/allkb/E9784F413A2269E086256F3A0064C8BB
    This method seems a bit messy (especially when I'll be doing this for a number of charts), although I couldn't open the example as its v7.1 and I have v7.0.
    Is there anything I can do?
    Help would be appreciated (deadlines approaching)

    The entire point of using a chart is that you update only the last value, so there is no point in writing the history data every loop. For that you can use a graph, which will allow you to do this without using a property node.
    The history length is not supposed to control how much data is currently displayed on the screen, but how many points are kept in the buffer, so you can scroll back and see them. When you change the length of the history data array, the chart doesn't seem to like it. It starts acting a bit crazy. Also, keep in mind that there is no point in displaying 1000 points if your chart is 600 pixels wide.
    There are problems with what you want to do, like if you add points, where do the extra points come from, or since a chart uses a constant multiplier, what happens to the old data when you change it and so on.
    I've modified your example slightly, so that it doesn't write to the property every time and so it handles the enlarging the history buffer case, but it's still buggy and needs more work.
    The main problem is that the History property doesn't change the chart length. If I understood you correctly, and you want to constantly display the last X seconds, I still think your only viable option is using a graph. The transition should be fairly simple and if you use a shift register it can handle it.
    Try to take over the world!
    Attachments:
    chart.vi ‏63 KB

  • Snippet: "query" the chart history length programmatically

    Would have posted to this thread, but was concerned that the misspelled subject might keep it from being found by future searches.
    I have a brute force, inelegant, very mildliy tested workaround for programmatically determining the history length of a waveform chart.  In my app, I have a single chart on my gui that is meant to display history from any one of several duplicate test stations.  To help accomplish this, I wanted each station to have its own lossy queue whose size is equal to the chart history length.  Then, whenever the user chooses to look at a different station's data, I can simply copy the entire contents of the lossy queue over to the chart.  
    Here's how I "query" the chart history length programmatically:
    Note: Some of this feels a little dubious, but it has seemed to give correct results so far.  Specifically, several of the XScale properties seem to refer to the graphical rendering of the scale rather than an index # to the history data.   Can't guarantee this'll work for all combos of other properties -- I tested with a fairly generic, nearly straight from the box waveform chart.
    -Kevin P

    Intaris wrote:
    Hmm, any reason why you can't just do this?
    If you don't modify the Array, it's just copying a pointer, right?  Or does this operation automatically make a copy of the data and induce horrendous performance problems?
    That doesn't actually do what I need.  The "History" data array size works its way up from 0 to History Length as the app runs and data is written.  It *is* bounded, but until I fill the chart all the way up, this method won't reveal what that bound is.  I need to size up those lossy queues at the beginning of the program, before any data has been written to the chart.
    As to the other comments so far:
    - I chose charts over graphs to get some of the built-in features of charts for real time monitoring rather than having to manage them myself.  Things like zooming the X range, horizontal scrolling to show different segments of the history, that kind of thing.
    - just absorbed the followup comment about writing a dummy oversized array to the chart before running the quoted snippet above.  Yeah, that oughta work.  I just don't like the general case of not knowing how big a pre-write I need to do.  I guess it wouldn't be too bad to loop while writing the same big-but-not-crazy-big array until the History size is smaller than the # of samples written.  
      The main hitch I see in that approach is that I'd like this to be  a reusable utility vi, but a subvi that works by filling up the History would need prior knowledge of the chart datatype.  (Just thinking out loud here, overall it does kinda feel cleaner than the stuff I was doing with the scale properties.)
    FWIW, a little more testing led me to modify and simplify my snippet b/c the previous one might leave the X scale looking different on exit than it appeared originally.  Seems like a side effect of the way those properties are kinda more about the display of scale information than about actual index #'s.   Anyhow, here's v2, but hopefully someone else has a better generic v3 they can offer:
    -Kevin P

  • [svn:fx-4.x] 15099: Setting truncateToFit to false so that chart labels would get scaled but not truncated if space is not enough

    Revision: 15099
    Revision: 15099
    Author:   [email protected]
    Date:     2010-03-29 07:00:06 -0700 (Mon, 29 Mar 2010)
    Log Message:
    Setting truncateToFit to false so that chart labels would get scaled but not truncated if space is not enough
    QE notes:
    Doc notes:
    Bugs: FLEXDMV-2359 (Axis labels are clipped in sdk 4.1, since label is used instead of UITextField)
    Reviewer:
    Tests run: checkintests
    Is noteworthy for integration:
    Ticket Links:
        http://bugs.adobe.com/jira/browse/FLEXDMV-2359
    Modified Paths:
        flex/sdk/branches/4.x/frameworks/projects/datavisualization/src/mx/charts/AxisRenderer.as

    Welcome to the forum Oreckel!
    The best way to work with FCP's media files is to not overthink it. It's all done from the "Scratch Disk" settings. Just select a DRIVE for media captures and renders to go to. FCP handles the rest. It creates a folder called "Capture Scratch", another called "Renders" and a third called "Audio Renders". In each of these folders it creates a folder for each project file containing the media that is associated with that particular project, and it names these folders the same as your project files' names. Couldn't be easier.
    Autosave Vaults, Waveforms, and Thumbnails should be kept on your startup disk in your documents folder. You probably already have one there named "Final Cut Pro Documents" If it's there just select the Documents folder and FCP will put these three folders in the one named "Final Cut Pro Documents".
    Jerry

  • Format % in chart label when Data Label Option is 'Show Series and % value'

    I am using:
    OracleBI Discoverer 10g (10.1.2.2)
    Oracle Business Intelligence Discoverer Plus 10g (10.1.2.54.25)
    I have a report that returns 2 columns 'Repair Status' and 'Count' The graph is a pie chart and I have selected the Data Label Option as 'Series Label and % value'. The percents displayed in the label have no consistent format. Sometimes 2 decimal places, sometimes 4 decimal places. I want the chart label to consistently display the % in the chart label with no decimal, i.e. 96%. How can I accomplish this?

    Hi,
    Where you selected 'Select Label and % Value', there is a button at the bottom, Format Data Labels. In there, there is a Number tab where you can play around by selecting Currency, Percent, etc. Have you tried this?
    Cheers.
    Mahesh

  • Chart x scale update problem

    LabVIEW  8.5.1
    Sweep Chart Problem
    The x scale values do not update until after the 2nd sweep.  The red line cursor gets to the end of the sweep and starts the next, but the scale numbers do not update until the next sweep starts.
    It appears to be a problem with the chart, since it happens with any vi with a sweep chart.  I've used versions 6 through 7 for years and never seen this.  I've only recently moved to a new job with a new machine and version 8.5.1., so I'm not sure what to try.
    I've included a simple example.
    Thanks much,
    JSC321
    Attachments:
    Chart Sweep Scale Update Problem.vi ‏32 KB

    You have a typical race condition!
    There is no data dependency between the property node and the while loop, so in your case the loop starts executing first and the property node starts slightly later, immediately erasing the first point. Execution order is not defined.
    All you need to do is add a data dependency, e.g. as with the error cluster in the image. This forces the property node to complete before the loop is allowed to start.
    (Execution order is enforced even if the wire value is not even used inside the loop )
    Try it!
    Message Edited by altenbach on 12-23-2008 11:08 PM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    HistoryRace.png ‏10 KB

  • Clipping problems using SPDIF input on SB Live

    .Clipping problems using SPDIF input on SB Li've?Hello everyone
    I'm new to this community and I'm banking on someone being able to help me!
    I'm connecting a DAT player to the SPDIF input on my Soundblaster Li've card and recording using Audacity.
    Within Creative Audio HQ I've got the SPDIF volume level set to 00% (for starters, perhaps someone can explain why there is a volume control when I thought this signal was staying in the digital realm?!) and when I record in Audacity the resulting material clips with high transient sound... a piano, for example, distorts on the louder notes.
    I need to take the level down to about 70% (or the equivalent in Audacity would be 0.7 - the 2 'volume' controls are connected) to avoid any clipping.
    I've had the sound card years and used to use SoundForge without any problems. Any ideas why this is happening in Audacity?
    I'm using XP and?I have downloaded the latest drivers and turned off the MOBO onboard sound in my BIOS.
    I would be grateful for any assistance anyone can give.
    Best Wishes
    Steve

    paush wrote:
    Hi, I am trying to sample my old vinyl record collection using my Sound Blaster Li've! PCI (think that was the model - it was the original (not Value) version of the card with the seperate header for the coaxial digital and MIDI I/O). Unfortunately, I get severe clipping regardless of the recording volume on the Volume Control panel. I know that my photo pre-amp is capable of high voltage outputs and therefore wondered if anyone was aware of the sensitivity of the analogue line input in volts of this particular model? Many thanks.
    Regards, Paul.
    If your pre-amp is a phono pre-amp (with RIAA in-build), I suppose it's not the culprit for clipping.
    How have you set the recording and source (input) levels on Volume Control and Recording Control?
    Try adjust the recording level by the 'hights' (loudest outputs) of the record (you know those recordings so you can easily find those places (or you can look on vinyls surface where the darkest areas are --> loudest outputs)).
    jutapaMessage Edited by jutapa on 0-23-2006 :38 PM

  • Chart Labels In Apex

    So I'm trying to create a chart that groups an aggregate function by the primary key. On the label, I cannot figure out how to query a lable that shows the primary key and the name of the customer that is located in a different table. I'm learning how to develop in Apex so I'm using the sample database right now. The following query adds up the order total by customer but I want the label to not just say the primary key (customer_ID) but also the customer last name (Cust_last_name) located in the demo_customers table. Here is the query:
    select null link, CUSTOMER_ID label, SUM(ORDER_TOTAL) value1
    from "LEARNING"."DEMO_ORDERS"
    group by CUSTOMER_ID
    Also I built this query with the query builder. Can someone explain the purpose of the "Null Link" in the select clause? And how can I get the percentages to show in a pie chart?
    Edited by: 1001737 on Apr 22, 2013 2:23 PM

    Hi, welcome to the forum. Please access your Control Panel and update your handle to something a bit more personal than 1001737.
    When you said:
    I want the label to not just say the primary key (customer_ID) but also the customer last name (Cust_last_name) located in the demo_customers table You were half way there, you just need to join your current query to the demo_customers table to retrieve the customers last name and use that as the label on your chart.
    Try this version of the query in your chart series; I find that a pie chart is best for this purpose:
    select
       null link,
       cust_last_name label,
       round(sum(order_total/total.tot),
       2) value  -- determine percentage of all orders 
    from
       demo_orders,
       demo_customers,
       (select
          sum(order_total)tot
       from
          demo_orders) total -- sum all orders 
    where
       demo_orders.customer_id = demo_customers.customer_id 
    group by
       cust_last_nameYou asked
    Can someone explain the purpose of the "Null Link" in the select clause?Placing NULL here states that you are choosing not to allow the action of a link when one of the chart labels is clicked. See this site for some excellent charting examples and further explanation:
    [url [http://apex.oracle.com/pls/apex/f?p=36648]Sample Charts, Maps, Gantts and Trees
    And how can I get the percentages to show in a pie chart?Percentages need to be calculated; to add the *%* to the label, set the Postfix within the Display Settings of Chart Attributes.
    Jeff

  • Chart label font color

    Is it possible to change the color of fonts in chart labels
    (not axis labels)? The default black does not stand out well
    against some colors.

    Are you referring to data tips?
    css style declartion can be used to change the text
    color.

Maybe you are looking for