replica nfl jerseysreplica nfl jerseyssoccer jerseyreplica nfl jerseys forums.silverfrost.com :: View topic - Problems with %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 

Problems with %pl
Goto page Previous  1, 2, 3, 4  Next
 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> Support
View previous topic :: View next topic  
Author Message
DanRRight



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

PostPosted: Fri Nov 08, 2019 7:25 am    Post subject: Reply with quote

Back to top
View user's profile Send private message
mecej4



Joined: 31 Oct 2006
Posts: 1899

PostPosted: Fri Nov 08, 2019 4:19 pm    Post subject: Reply with quote

Something that struck my eye:

In both, the tick for 75 at the upper left corner is not quite aligned with the top frame line. This is in contrast with the other tick marks such as 60, 45, etc., which are nicely centered on the faint grid lines.

There is a small triangle at the origin. Does that have any significance?
Back to top
View user's profile Send private message
DanRRight



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

PostPosted: Fri Nov 08, 2019 7:33 pm    Post subject: Reply with quote

After i apply draw_characters@ which plots the text string "Before" or "After" on top of %pl plot the Y numbers and a bit X one too shift to the left

As to tiny triangle or sometimes square in the zero position of axis X and Y - this is small bug of %pl we pointed out few times before. This definitely has to be fixed by SFrost.

This so annoyed me that I extracted this part but the damn devilry thing disappeared and did not allow me to catch the problem so far. So what I often do is I create the %pl plot with shifted numbering, make a screenshot and photoshop the image moving numbers back as well as edit this tiny triangle or box in the corner. "Before" part of this plot above is exactly photoshopped part forgetting only to remove the triangle

My suggestion is to ask Paul to allow multiple title legends instead of just one. That will prevent us hacking with draw_characters@ when adding text on top is needed

By the way when I make the plot for the first time or close and reopen it again all looks OK. The shift appears when I add draw_characters@ text on top of already existing plot. I realize that %pl may not like dynamic updates in this case but it's so convenient to place numerous buttons and radiobuttons on the same window as %pl for adjusting the plot without closing it and plotting again. I already do that 1000 times per day

As to "In both, the tick for 75 at the upper left corner is not quite aligned with the top frame line" - this does not matter actually, it does not have to align. It may look a bit nicer in this specific case if it aligned though
Back to top
View user's profile Send private message
DanRRight



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

PostPosted: Tue Nov 12, 2019 12:55 am    Post subject: Reply with quote

Here is what ideal %pl should allow. Google public data plot. All dynamically changeable, plots, axis units, limits. All visually with the click. There are different types of plots, just click around.

Place the entire link into your browser, usual way of showing links does not work. Click on Switzerland or USA and watch magic. Do not worry for safety, this is Google, because if you do not trust Goggle then better do not use internet at all

https://www.google.com/publicdata/explore?ds=d5bncppjof8f9_&met_y=ny_gdp_pcap_cd&idim=country:AZE:GEO:TUR&hl=en&dl=en#!ctype=l&strail=false&bcs=d&nselm=h&met_y=ny_gdp_pcap_pp_kd&scale_y=lin&ind_y=false&rdim=region&idim=country:RUS:GRC:GBR:USA&ifdim=region&hl=en_US&dl=en&ind=false
Back to top
View user's profile Send private message
DanRRight



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

PostPosted: Tue Nov 12, 2019 10:31 pm    Post subject: Reply with quote

John,
1) If you can make a small demo reproducing shift of numbering when you dynamically add and remove draw_character@ after you already created the plot -- that would be great

2) I initially did not understand your need with the additional functions to find exact position or tics etc. Now i see the reasons for that. The %pl for example sets initial or final value for X by its own way ignoring user defined numbers. This is good and right thing to do but we do not know in advance or after plot was done how to find these new X and Y limits values to define the correct scaling for user other needs. The tic marks for example will be impossible to do manually if you do not know initial and find values of X or Y.
The position of caption will be impossible to place in exact place of the plot etc

3) As i described it above the user has little control over exact numbers for start and finish of X and Y axis which sometimes is needed

4) I do not know if this is already done but in my version of software if you set the step of placing tic marks this has no effect.

But in general with the user adjustments, settings and manipulations i almost always succeed to make professionally looking plots. If SFrost would listen users more actively and communicate with them more often my wish of making pro plots from the first attempt with the minimal programming (ideally in one single line of Fortran source text) would be already realized.
Back to top
View user's profile Send private message
DanRRight



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

PostPosted: Sun Dec 22, 2019 6:17 am    Post subject: Reply with quote

New release is soon coming. Curious was this most annoying defect fixes already ? Or is there a workaround against of it ? You can not photoshop it after saving. Probably applying another bug mentioned above (placing characters on top) it is possible to move numbering to the left but i am not sure it always will work. In demo reproducer i was unable to repeat it

Back to top
View user's profile Send private message
DanRRight



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

PostPosted: Tue Dec 24, 2019 10:10 am    Post subject: Reply with quote

I forgot if another suggestion was mentioned to change not convenient

CALL winop@("%pl[symbol=8]")
CALL winop@("%pl[symbol_size=4]")

to convenient

CALL winop@("%pl[symbol]", 7)
CALL winop@("%pl[symbol_size]", 4)

Otherwise if you need to dynamically change width and type of symbols you will need to add a lot of source text for each of multiple curves plotted simultaneously

character chLineWid*16, chSymbolType*16, chSymbolSize*18

chSymbolType = '%pl[symbol= ]'
write(chSymbolType(12:13),'(i2)',err=301) iSymbolType_f_x(6)
goto 1301
301 chSymbolType = '%pl[symbol= 7]'
1301 CALL winop@(chSymbolType)

chSymbolSize = '%pl[symbol_size= ]'
write(chSymbolSize(17:17),'(i1)',err=2301) iSymbolSize_f_x(6)
goro 3301
2301 chSymbolSize = '%pl[symbol_size= 4]'
3301 CALL winop@(chSymbolSize)
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


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

PostPosted: Tue Dec 24, 2019 11:25 am    Post subject: Reply with quote

I have made a note to add a new function.

In the meantime, is it not possible to write the new function in Fortran?
Back to top
View user's profile Send private message AIM Address
Kenneth_Smith



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

PostPosted: Tue Dec 24, 2019 11:55 am    Post subject: Reply with quote

Paul,

If you are going to be looking at %pl again, can I suggest that two additional symbols would be a valuable addition (to myself anyway):

[symbol=12] Draw +
[symbol=13] Draw X

Merry Christmas everybody!

Ken
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


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

PostPosted: Tue Dec 24, 2019 3:00 pm    Post subject: Reply with quote

Ken

I can add this to the list but it is quite independent of the previous request which simply requires a little function to covert the arguments.

Paul
Back to top
View user's profile Send private message AIM Address
PaulLaidler
Site Admin


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

PostPosted: Tue Dec 24, 2019 4:38 pm    Post subject: Reply with quote

Dan

A set of routines is already available as described in item 406 of cwplus.enh....

SUBROUTINE WINOP_INT@(fmt, dval)
SUBROUTINE WINOP_FLT@(fmt, fval)
SUBROUTINE WINOP_CLR@(fmt, cval) !for colours
SUBROUTINE WINOP_STR@(fmt, sval)
SUBROUTINE WINOP_HDL@(fmt, hval)
SUBROUTINE WINOP_FUN@(fmt, fun)
CHARACTER(*) fmt,sval
INTEGER dval,cval
DOUBLE PRECISION fval
INTEGER(7) hval
DOUBLE PRECISION FUNCTION fun(x)
DOUBLE PRECISION x
Back to top
View user's profile Send private message AIM Address
DanRRight



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

PostPosted: Sun Dec 29, 2019 5:42 pm    Post subject: Reply with quote

Thanks Paul. Is this any better and faster cure then the way I provided ? Was there any particular reason to implement this such cumbersome way? This solution halted my brain to understand why, say, changing number 8 to 7 will require to fly through Australia. In the Help no reasoning or examples showing advantages of using was provided. Why not implement

CALL winop@("%pl[symbol=7]")

by obvious way

CALL winop@("%pl[symbol]", 7)

or at least kind of semi-standard Clearwin way

CALL winop@("%pl[symbol=@]", 7) ??? Will this allow to change plot parameters (widths, symbol sizes etc) dynamically after the plot was already made while my way will not? The minimal size but nicest looking working examples always help to understand these features.
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


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

PostPosted: Mon Dec 30, 2019 9:23 am    Post subject: Reply with quote

Dan

This is what you asked for and is already available (maybe because you asked for it previously).

Where you asked for:

CALL winop@("%pl[symbol]", 7)

you must write:

CALL winop_int@("%pl[symbol]", 7)

The new functions were provided in the simplest and most natural way available when writing DLL functions in C for a Fortran or C++ source. The new functions could have overloaded the name winop@ but (for me) that would not be the natural way to do it. There will be no noticeable difference in speed.
Back to top
View user's profile Send private message AIM Address
DanRRight



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

PostPosted: Tue Dec 31, 2019 12:07 am    Post subject: Reply with quote

This does not look as bad as I thought. It's a bit puzzling without an example. But now I understand. Thanks
Back to top
View user's profile Send private message
mecej4



Joined: 31 Oct 2006
Posts: 1899

PostPosted: Fri Jan 03, 2020 1:01 pm    Post subject: Reply with quote

This loaded meaning of the common word "overload" made me confused, too, when I first came across it in the 1990-s.

An overloaded word has to bear the burden of having multiple meanings. For example, the verb "put" is given 57 different definitions in the Oxford English Dictionary.

Please see https://en.wikibooks.org/wiki/Computer_Programming/Function_overloading .
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> Support All times are GMT + 1 Hour
Goto page Previous  1, 2, 3, 4  Next
Page 2 of 4

 
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