replica nfl jerseysreplica nfl jerseyssoccer jerseyreplica nfl jerseys forums.silverfrost.com :: View topic - Native %pl
forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Native %pl
Goto page Previous  1, 2, 3 ... 16, 17, 18 ... 26, 27, 28  Next
 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> ClearWin+
View previous topic :: View next topic  
Author Message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 8214
Location: Salford, UK

PostPosted: Fri Jan 26, 2018 4:17 pm    Post subject: Reply with quote

Maybe you just need [x_array].
Back to top
View user's profile Send private message AIM Address
silicondale



Joined: 15 Mar 2007
Posts: 252
Location: Matlock, Derbyshire, UK

PostPosted: Fri Jan 26, 2018 5:04 pm    Post subject: Reply with quote

Magic !
I was just trying to be too clever - replaced [x_array] by [independent], but actually need both.
Back to top
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 8214
Location: Salford, UK

PostPosted: Sat Jan 27, 2018 8:42 am    Post subject: Reply with quote

Current work on %pl will allow you to send %pl output to a printer using the printer's high resolution. So if you can get your T-shirt into the printer, all well and good.

As for implanting numeric values easily into a string of other characters, maybe you could write a Fortran function to do that. There are no plans to make winop@ work like winio@ in the sense of taking additional arguments.
Back to top
View user's profile Send private message AIM Address
LitusSaxonicum



Joined: 23 Aug 2005
Posts: 2402
Location: Yateley, Hants, UK

PostPosted: Sat Jan 27, 2018 10:11 am    Post subject: Reply with quote

Paul,

Quote:
So if you can get your T-shirt into the printer, all well and good.


Google with search terms: 'tee shirt transfer paper'

Eddie
Back to top
View user's profile Send private message
JohnCampbell



Joined: 16 Feb 2006
Posts: 2615
Location: Sydney

PostPosted: Sat Jan 27, 2018 10:37 am    Post subject: Reply with quote

Paul,

Could you define a derived type record structure, as an alternative subroutine input for format %pl.
The record structure could have lots of fields, to cover all that have been discussed in this very long thread and there could be a PL_record_default parameter to set each series, something like:

TYPE PL_DATA_RECORD
integer*4 :: num_points
....
END TYPE PL_DATA_RECORD

type (PL_DATA_RECORD), parameter :: &
PL_record_default = PL_DATA_RECORD(0,...)

type (PL_DATA_RECORD), allocatable :: All_PL_Options(:)
real*8, allocatable :: PL_series_values(:,:)

allocate ( All_PL_Options(num_series) )
allocate ( PL_series_values(2,num_series,max_points) )

Perhaps a derived type record for the chart and another derived type for each series, as an allocatable array.
Can we have real*8, allocatable :: x_values(:) in the derived type ?

It may need more work, but the parameter pl_record_default would be very useful for documentation, if it could be devised.

That would be a good project !!
Back to top
View user's profile Send private message
Kenneth_Smith



Joined: 18 May 2012
Posts: 816
Location: Hamilton, Lanarkshire, Scotland.

PostPosted: Sun Jan 28, 2018 9:05 pm    Post subject: Reply with quote

A short video I made for some of my colleagues. Not the best video on YouTube, but it does show the native %pl in action.

https://www.youtube.com/watch?v=TcUP3f-ZUak&t=64s
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 8214
Location: Salford, UK

PostPosted: Mon Jan 29, 2018 9:18 am    Post subject: Reply with quote

John-Silver

On second thoughts, I could provide two or three variants of winop@ in order to make this easier. The variants would be like winop@ but would take a format string for just one option and then one extra argument for the value.

For example, it might look like this:

Code:
call winop_int@("%pl[symbol_size]", ival)
Back to top
View user's profile Send private message AIM Address
silicondale



Joined: 15 Mar 2007
Posts: 252
Location: Matlock, Derbyshire, UK

PostPosted: Mon Jan 29, 2018 9:37 am    Post subject: Reply with quote

Have done some experimentation with multiple stacked data sets. It seems there is a maximum of 128 if you want to supply different symbol, symbol_size, link, and colour parameters for each.

Beyond 128 data sets, it seems to revert to a default setting which is black curved links.

I am using colour ramps with 256 distinct colours - this translates to 256 stacked data sets for plotting. From data sets 129 to 256, instead of coloured un-linked symbols I get black curved lines scribbling over the whole image.

This shows what happens ...



Each of these plots is produced from the same overall data set, split into roughly equal groups ordered by increasing value of a response variable, with colours selected in sequence from a colour-ramp array.
_________________
(Steve Henley)
Back to top
View user's profile Send private message Visit poster's website
DanRRight



Joined: 10 Mar 2008
Posts: 2925
Location: South Pole, Antarctica

PostPosted: Wed Jan 31, 2018 3:26 pm    Post subject: Re: Reply with quote

PaulLaidler wrote:
John-Silver

On second thoughts, I could provide two or three variants of winop@ in order to make this easier. The variants would be like winop@ but would take a format string for just one option and then one extra argument for the value.

For example, it might look like this:

Code:
call winop_int@("%pl[symbol_size]", ival)


Paul, That would be logical and convenient. Actually that is the only way I'd like to see that. Currently changing the ival dynamcally in symbol_size=ival requires "internal write" to the character variable WRITE(symbol_sizeVar(33:35), '(i3)', err=43466) ival. Hell inconvenient.

John, the native PL can not make this nice looking picture like on your T-shirt yet. For that it will need an additional artistuc feature to paint everything under the curve to specific color, in this case white. Did I miss anything? On the topic of wrong centering again and again, clearly Paul complicated things to the extremes: centering has to use just the physical screen coordinates of axis start and end, two integer numbers, this is simple to stupidity why it is easy to miss. Instead looks like Paul translates them to plot value coordinates and then gets lost in the forest of exceptions and exclusions, positive Xs and negative Ys, external xmin's and ymax's...Look, the centering mechanism does not see negative curve numbers! Instead the plot positions on screen are always the same, plotted curve values though always change as you update the plot with new data. Happened to me all the time, we tend not to see simplicity Smile

Steve, plz post simple example. Besides simplifying things to Paul to reproduce the bugs, for all others seeing the picture of output and its source code is the best and fastest learning experience for native PL. Soon the manual for old and new PL will exceed the manuals for openGL Smile
Back to top
View user's profile Send private message
silicondale



Joined: 15 Mar 2007
Posts: 252
Location: Matlock, Derbyshire, UK

PostPosted: Wed Jan 31, 2018 7:10 pm    Post subject: Reply with quote

Hi John-S -- some of the greeny colour disappears each time I add an extra colour because the data points are just being reclassified - so by the time we get to 256, half of the points are beyond the 128 so they plot as squibbly lines instead of neat coloured squares.

Y axis labelling looks like it does because it's all negative values. Not worried about that!

Dan - thanks for the suggestion, but easier said than done. This is just a small part of a long program, and I don't think I can demonstrate the problem properly with a small data set. But it's clear what the problem is !
_________________
(Steve Henley)
Back to top
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 8214
Location: Salford, UK

PostPosted: Wed Jan 31, 2018 7:24 pm    Post subject: Reply with quote

I have increased this maximum to 255.
Back to top
View user's profile Send private message AIM Address
silicondale



Joined: 15 Mar 2007
Posts: 252
Location: Matlock, Derbyshire, UK

PostPosted: Thu Feb 01, 2018 12:36 am    Post subject: Reply with quote

Hi Paul - and many thanks. That makes my life much easier Very Happy
I am generating software for an EU Horizon2020 project and this is exactly what I will need to keep the project officer in Brussels happy when he reviews the deliverables. No pressure - but will this go into the next CW+ library version?
_________________
(Steve Henley)
Back to top
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 8214
Location: Salford, UK

PostPosted: Thu Feb 01, 2018 12:22 pm    Post subject: Reply with quote

%pl has its own legacy database and it is natural to keep its size within reasonable bounds.
Back to top
View user's profile Send private message AIM Address
silicondale



Joined: 15 Mar 2007
Posts: 252
Location: Matlock, Derbyshire, UK

PostPosted: Sat Feb 03, 2018 11:59 am    Post subject: Reply with quote

All good points, John! My 'client' is the project consortium, and 255 colours is fine. Fortunately for other requirements we won't need anything like 255 lines or point sets. Right now, can't do much, as sitting in a hotel bar in Ljubljana waiting to hear when a delayed flight is going to get me home. Heavy snow here.
_________________
(Steve Henley)
Back to top
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 8214
Location: Salford, UK

PostPosted: Sat Feb 03, 2018 1:24 pm    Post subject: Reply with quote

A lot of the information about the native %pl can be found in the cwplus.enh that goes with the v8.20 release.

The original %pl SIMPLEPLOT DLL uses 32 bit reals. It just means that you only get about 7 significant figures from your 64 bit real input.

The native %pl uses 64 bit reals but even then it accesses the Microsoft GDI+ library and that uses 32 bit reals. However, when it comes to plotting graphs, is there any reason for having more than 7 significant figures in the data? If there is then %pl is not the thing to use.
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> ClearWin+ All times are GMT + 1 Hour
Goto page Previous  1, 2, 3 ... 16, 17, 18 ... 26, 27, 28  Next
Page 17 of 28

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group