Re: plot structured data II [message #24159 is a reply to message #24133] |
Mon, 12 March 2001 07:35   |
John-David T. Smith
Messages: 384 Registered: January 2000
|
Senior Member |
|
|
David Fanning wrote:
>
> Dirk Burose (dirk.burose@uni-bonn.de) writes:
>
>> sorry for being unprecise last time.
>> What I like to know is how to get access to the data in the structure or
>> as David Fanning already said how to tear that structure apart and get a
>> 2d array for further use.
>> The data in the structure is already gridded and I know how to use
>> surface function but until now I can't find information how to use it
>> with structured data sets.
>> thanks a lot
>
> Structures are de-referenced with a "dot". You want
> something like this:
>
> Surface, struct.mydata, struct.my_xvector, struct.my_yvector
>
> Sometimes structures have structures inside them. Then you
> use two dots, etc.:
>
> Surface, struct.mydata.grid, struct.mydata.xvec, struct.mydata.yvec
And sometimes you are using structures entirely inappropriately, like
when you really want an array instead, but are using read_ascii to get
it out of file. You might try crafting your own formatted read and
avoid read_ascii altogether, reading it directly into a 15xn array.
It's really pretty simple.
Read_ascii is best for multi-variable plots, not higher dimensional
data. If you are really stuck with a structure of fields with columns
of data the same length, and you'd like to convert it to a 2d array,
try:
for i=0,n_tags(st)-1 do $
if n_elements(a) eq 0 then a=1#st.(i) else a=[a,1#st.(i)]
But really, a better solution is to use the correct data type in the
first place.
Good luck,
JD
|
|
|