[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: plot structured data II
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