array visualizer index

array visualizer index

twerth's picture

Hi,

I`ve a little problem with the array visualizer. When I plot something I can change the axis labels, the colors, the fonts and so on.
Is there a way to plot not the array index, but the position that is represented by this index? For example:
Ive an real array test(10). It shows the inflationary process from 1991 to 2000. The x-axis is so 1,2,3,4,... and I want to show 1991,1992,1993,1994...

Thank you,
Tobias Werth

9 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Community Admin's picture

Is this for the Intel AV product or Compaq AV?

With Compaq AV, use Notepad or some other editor to enter the dimension values you want, e.g:

1991
1992
1993
...


Copy the text to the clipboard, and then in Array Viewer open you data file, and open the Dimensions dialog (Data|Dimensions in the menu). Click the import button on the dimension you want labeled and the values you copied to the clipboard will be used for the dimension scale.

For Intel AV, just create a new XYPlot and set the XSource of the plot to point to a dataset (or a section of a dataset) that contains the x-axis values. The extent of the XSource array has to match the extent of the YSource array.

John

gregscvf's picture

You didn't say if you're doing this under debug, or within a program. I was able to do this within a program for a 3-D plot by adding arrays that contained the two axes as follows:

! Let AV know we're interested in viewing the 3 arrays
call FaglStartWatch(zM, status)
call FaglStartWatch(y, status)
call FaglStartWatch(x, status)

call FavSetDimScale(ihv, 1, y, status) ! Associate y-scale with y-dim
call FavSetDimScale(ihv, 2, x, status) ! Associate x-scale with x-dim

You may also need to close the axes using FaglEndWatch

Greg

twerth's picture

Ok. It still doesn't work. I tried it with various commands I found here in the forum but I wasn't successful yet.

I use the Compaq AV with Compaq Visual Fortran 6.6B as active X control. All the code I tried returns some negative status and it doesn't change anything in the plot.
I also tried to handle it with the autosetProperty-Routines but with the same result.

Does anybody know how the correct autosetProperty-Commands for setting axis-scales like described above in an activeX control?
If so, please give me a complete code example.

Thank you, best regards,
Tobias Werth

gfthomas8's picture


Avis2D1.CopyAxisScaleData(0,xlabel)

Ciao,
Gerry T.

twerth's picture

I'm developing under Visual Fortran and not with Visual Basic :-(, so I can't use your code.

But I tested my application with this:
retint = AUTOSetProperty(hAvis2D1, "CopyAxisScaleData(0)", xlabel)

retint was negative and the plot unchanged.

Any other advice?

Regards,
Tobias Werth

gfthomas8's picture

> Any other advice?
>

RTFM. Here's a hint: COM Module Wizard.

HTH,
Gerry T.

twerth's picture

Now, I've a solution:

call $DAvis2D_SetAxisScaleFileName(hAvis2D1, 0, "xlabel.agl", retint)

every other solution doesn't work. it's not pretty, but I'm a dummy in creating variant data type, so I will use this.

regards,
Tobias Werth

gfthomas8's picture

That's great. Bodging works, sort of.

Ciao,
Gerry T.

Login to leave a comment.