DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

subaxes: automatic scale

Hello I am pretty new to Diadem and have some problems working efficiently with it. I use the report panel for displaying datas in 2D (99% of the job I'll do with diadem).I would like to get so-called "stacked diagrams": see the example about engine data in the "Inserting Report Objects" of the help. My problem is simple: I can define numerous subaxes (one for each curve) but they have a height of 100% and no YOffset. I don't want to adjust them manually because it means that if I add or remove one channel I'm back to hell! Therefore I am looking for the automatic way of doing this but can't find it. I want each subaxis of the same height and them alternating left/right. This feature is pretty basic I believe and must be there (I just don't find it). Regards, Brice ps: no programmation please, I don't have the time and I use diadem 11
0 Kudos
Message 1 of 7
(4,132 Views)

Hi Brice,

 

I think the short answer is that DIAdem does not make this as easy as you want it to be.  There is no setting for "Stacked, alternating left and right", though I can understand the appeal.  To my knowledge there are two options to display N curves in this manner, either:

 

1)  Configure N/2 axis systems with left/right Y axes and stack these axis systems one above the other

 

2)  Configure one axis system with N+1 Y axes, located alternatingly on the left and right.  The first Y axis has to span the whole axis system (100%), so you should configure N additional Y axes and ignore the first one.

 

Here is an example of workaround 2), though I fear this is what you referred to as "hell".  But I would like to confirm that this visual display is what you want, and I would like to better understand the frustration you have with the current methods of achieving this display.  You will need to load the standard "Example.TDM" data set in order to see the configured curves.

 

Brad Turpin
DIAdem Product Support Engineer
National Instruments

0 Kudos
Message 2 of 7
(4,122 Views)
Hello Brad, Thanks for the short answer. I don't know what's happening at my place but I can't attached files, maybe my browser conf... Anyway, what you attached is almost what I want (I just don't want to have overlapping diagrams, therefore if I define 5 subaxes, I will give them 20% height). I just find this method a bit not easy because it requires a lot of "hand power" from me (i.e. if I add another channel, the stacking has to be redefined...). And yeah I used before another products that did it automatically. My wish would be to define a 2D area, to drag and drop the channels I'd like to report and then to call a function named i.e. "Stack, alternate" which would in turn assign one subaxis to each channel and arrange the display the way I descrubed it. Is there anyway of programming such a thing for a noob? I will need it as my colleagues will too. One more thing: I have to go for one axis system as I will turn on the "curve expansion mode" and like to superimpose channels with the same names. Best regards, Brice
0 Kudos
Message 3 of 7
(4,118 Views)

Hi Brice,

 

I will forward your request on to R&D for a built-in Stacked-Alternating-Y-Axis option.  It is possible to program this, but I'm curious what your starting point will be.  Will you start with a layout with N curves in it and need to rework the Y Axes?  Or will you start with a list of channels in a Group and need to create a curve for each of the channels?  Or will you have a VBScript array of the selected channels and create a curve for each of the array elements?

 

I suppose the motivation to have the Y axis alternating is so that the Y Axis labels interfere less with each other?

 

Brad Turpin
DIAdem Product Support Engineer
National Instruments

0 Kudos
Message 4 of 7
(4,104 Views)
Hello Brad Typically my starting point will be the following: - draw a 2d area (with only one axis system) - drag an drop all the curves I want to be displayed on the same graph - run the script for reworking the Y axes (create one for each curve from Y2 to Y(n+1), arrange them alternating wise and assigning one curve to each) My motivation comes from the use I have of a soft like Diadem: typically I do a lot of engine data analysis, I need different sheets displaying group of relevant datas (i.e. one for the air pressures another for the air temperatures...), I can't use N systems for axis positions as I want to compare analyses. I need also flexibility as each analysis is different. The left / right alternance is because the graph looks a way better (I still can't attach an example...). Anyway a non left/right alternating solution could also be satisfaying at first (complete solution is: alternating Y axes, different markers per curve (channel) and one color for each datafile). Best regards, Brice
0 Kudos
Message 5 of 7
(4,089 Views)

Hi Brice,

 

It took me a while, but I think I've created what you want.  This VBScript should dynamically find all 2D graphs on the currently visible REPORT sheet, copy all the axis settings from the first (typically only) Y axis, then assign each configured curve to its own Y axis.  The VBScript will re-use any additional Y axes that already exist, and it will create new Yaxes when there are not already enough and set all the Y axis properties to the same values as were in the first Y axis.  Finally, the VBScript hides the first Y axis, which you always need to keep in the 0% to 100% Y scale state, even though no curves are assigned to it any more.

 

Start with a REPORT layout that is not in expanding mode (like the two TDR files I included in the ZIP file), then after you've "Stacked Alternating" you can switch the REPORT layout to name expanding mode if you want (this works with the two TDR files I included).

 

Brad Turpin
DIAdem Product Support Engineer
National Instruments

Message 6 of 7
(4,068 Views)
Hello Brad. It does work well! It will serve as a good starting point for going further to suit my needs. Anyway, now I have a lot of programming to do... Best regards, Brice
0 Kudos
Message 7 of 7
(4,060 Views)