replica nfl jerseysreplica nfl jerseyssoccer jerseyreplica nfl jerseys forums.silverfrost.com :: View topic - Birth defect of Clearwin
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 

Birth defect of Clearwin
Goto page Previous  1, 2, 3
 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> ClearWin+
View previous topic :: View next topic  
Author Message
DanRRight



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

PostPosted: Fri Mar 21, 2025 11:53 am    Post subject: Reply with quote

But fun is that the same Google AI says the same about lin-log XY plotting:

"A lin-log XY plot (also called a semi-log plot) displays data where one axis (typically the y-axis) is scaled logarithmically while the other (x-axis) is scaled linearly" Smile


Last edited by DanRRight on Fri Mar 21, 2025 11:58 am; edited 1 time in total
Back to top
View user's profile Send private message
Kenneth_Smith



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

PostPosted: Fri Mar 21, 2025 11:58 am    Post subject: Reply with quote

Paul,

There is no ambiguity with the existing scale options:

SCALE=LINEAR
SCALE=LOG_LOG

Perhaps what is required is:

SCALE=SEMILOG_Y as an alternative to SCALE=LOG_LINEAR (y axis is logarithmic)
SCALE=SEMILOG_X as an alternative to SCALE=LINEAR_LOG (x axis is logarithmic)

Why? SCALE=LINLOG and SCALE=LOGLIN as suggested by Dan would still be ambiguous, depending on which convention you view as correct. Introducing the SEMILOG log alternatives would remove this ambiguity.
Back to top
View user's profile Send private message Visit poster's website
DanRRight



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

PostPosted: Fri Mar 21, 2025 12:04 pm    Post subject: Reply with quote

Ken, But there is no clear convention as AI says Smile

Semilog or semilog_x, semilog_y is kind of also not clear.

If you do not like my suggestion then OK, here is 100% not ambiguous:

linXlinY
linXlogY
logXlinY
logXlogY

In addition for the total freedom and clarity you can call linXlogY = logYlinX as synonyms and %PL will understand you completely. Of course would be also good to continue calling LinXLinY as just "linear" and make logXlogY = loglog = log_log as a synonym of just "log"


Last edited by DanRRight on Fri Mar 21, 2025 12:26 pm; edited 1 time in total
Back to top
View user's profile Send private message
Kenneth_Smith



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

PostPosted: Fri Mar 21, 2025 12:26 pm    Post subject: Reply with quote

Dan,

I think you and I will have to agree to disagree on the clarity (or otherwise) of what is meant by a "semilog" plot.

https://en.wikipedia.org/wiki/Semi-log_plot

The semilog approach would half the volume of work being asked of the folks at Silverfrost.
Back to top
View user's profile Send private message Visit poster's website
DanRRight



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

PostPosted: Fri Mar 21, 2025 12:37 pm    Post subject: Reply with quote

Ken,
Well, this link in Wiki is capable to inflict the inferiority complex and will do it every time anyone will decide to use semilog with native %PL. Even Google AI was confused (weren't AI trained on Wiki ? Smile
Back to top
View user's profile Send private message
Kenneth_Smith



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

PostPosted: Fri Mar 21, 2025 12:51 pm    Post subject: Reply with quote

Avoiding SEMILOG, perhaps simply:

SCALE=LINX_LOGY (y axis is logarithmic)
SCALE=LOGX_LINY (x axis is logarithmic)

Is all that is really necessary in terms of new alternatives?

Giving:

SCALE=LINEAR
SCALE=LOG_LOG
SCALE=LINX_LOGY (alternative to SCALE=LOG_LINEAR)
SCALE=LOGX_LINY (alternative to SCALE=LINEAR_LOG)
Back to top
View user's profile Send private message Visit poster's website
PaulLaidler
Site Admin


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

PostPosted: Fri Mar 21, 2025 3:33 pm    Post subject: Reply with quote

Ken

Sounds good to me.
Back to top
View user's profile Send private message AIM Address
DanRRight



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

PostPosted: Fri Mar 21, 2025 9:22 pm    Post subject: Re: Reply with quote

Kenneth_Smith wrote:
Avoiding SEMILOG

SCALE=LINEAR
SCALE=LOG_LOG
SCALE=LINX_LOGY (alternative to SCALE=LOG_LINEAR)
SCALE=LOGX_LINY (alternative to SCALE=LINEAR_LOG)


I agree with this subset because it puts X first, Y second like all should be. Indeed, even the dimensions of the plots iX and iY and its X and Y variables
Code:
i=WINIO@('%PL[SCALE=LOG_LINEAR]',  iX, iY, X, Y)

are set in "X first - Y second" order but why scale in LOG_LINEAR (= LOGY_LINX) is set with Y first and X second?

But my initial thought was to eliminate any thinking/remembering/digging (and ideally any programming adding LOG/LIN into Designers Mode) when you do plotting and here to make choosing SCALE completely logical.

I use %PL for two+ decades, before even current Native %PL, having 100s of plots and believe me every time I start new plot I scratch the head what are the names for all these Lin/Log controls because there are so many possible variants while their chosen names are relied exclusively on your perfect memory. Instead their naming system have to be 100% logical.

If we accept LOG_LOG why not accept also alias LIN_LIN?
If we accept LINX_LOGY why not accept also LINX_LINY and LOGX_LOGY?

Adding aliases when you can call SCALE different logical way and %PL still accept it (keeping old way naming also acceptable), will completely eliminate the need to remember anything or dig every time into your previous %PL uses search or the manual.

So in addition to the subset above, these suggestions I hope will form the whole set to do the full needed job:

SCALE=LINEAR (plus make %PL to accept also LIN_LIN and LINX_LINY)
SCALE=LOG_LOG (plus make %PL to accept also LOGX_LOGY. And may be just LOG ?)
SCALE=LINX_LOGY (alternative to SCALE=LOG_LINEAR)
SCALE=LOGX_LINY (alternative to SCALE=LINEAR_LOG)

12) This discussion would not exist probably if choosing LIN/LOG was present in the Designer's Mode where you just click the needed radiobutton
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


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

PostPosted: Sat Mar 22, 2025 8:19 am    Post subject: Reply with quote

I have made a note of this recommendation.
Back to top
View user's profile Send private message AIM Address
DanRRight



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

PostPosted: Sat Mar 29, 2025 11:52 am    Post subject: Reply with quote

13) Asking Google AI

Q: Is "Caption" correct word for XY plot axis?
(used in Designer's Mode)

A: The term "caption" is not the correct name for the axis labels in an XY plot. The correct term is "axis labels" or "axis titles." These labels describe the variables being plotted on the axes and include the units of measurement. For example, an axis label might be "Temperature (K)" or "Volume (L)"
Back to top
View user's profile Send private message
DanRRight



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

PostPosted: Mon Mar 31, 2025 8:31 am    Post subject: Reply with quote

14) OK, we are close to the end of needed major fixes and improvements for the native PL to make it absolutely perfect. All people do XY plotting and all need and definitely will appreciate them (excluding neo-Luddites). May be only few suggestions are left. One is to improve stability of LOG plotting when there are many functions plotted which needs more efforts from my side to make a demo. Another is more general suggestion for a whole Clearwin controls alignments we will discuss some time later. Both were somewhat discussed before in this forum.

Now let's return to this code I posted above again. This suggestion was also already discussed before but may be it was not clearly articulated.

Code:
use clrwin
 parameter (N = 2*2*2)
 real*8 X(N), Y(N)
 Data X/0.01,0.1,1,10, 100,1000,10000,100000/
 Data Y/0.011,0.044,0.33,2.2,66,3333,1111,777/

!... Regular Plot
 call winop@("%pl[x_axis='X Axis Title',y_axis='Y Axis Title']")
 i=winio@('%ww%pv%pl[native,x_array,scale=log_log,N_GRAPHS=1]%lw', 800,600, n, X, Y, ilw)

!...  Design Mode Plot
 i=winio@('%sf%ts%bf%es&', 2d0)
 call winop@("%pl[x_axis='X Axis Title',y_axis='Y Axis Title',file=zSetts.set]")
 i=winio@('%ww%pv%pl[native,x_array,scale=log_log,N_GRAPHS=1]',  800,600, n, X, Y)

 end


We can find screen coordinates XX and YY for each point on this screen using
Code:
 call get_plot_point@(X,  Y,  YY,  YY)

(why XX and YY are not INTEGER but REAL*8 by the way? They change from 1 to 800 and from 1 to 600 only) but because the internal code always puts all tics on each axis based on its own considerations on how they should ideally look for the human eye, we never know what are screen coordinates for the 4 key X and Y (and XX and YY) axial intersections of the graph will be. We will know beginning and end points of X and Y coordinate points only if we set up them manually.

But the %PL code of course knows what beginning and end values of X and Y and XX and YY are internally because without their knowledge it is impossible to make any graphs.

The function is needed which returns the knowledge of these 4 pairs of X and Y and 4 pairs of XX and YY coordinates to the user.
Back to top
View user's profile Send private message
Kenneth_Smith



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

PostPosted: Mon Mar 31, 2025 12:16 pm    Post subject: Reply with quote

This query [14] from Dan is related to margin size. If there was a procedure to recover the pixel size of the top, bottom, left and right margins (in the case where these have not been fixed by the user), then finding the pixel coordinates of the 4 straight lines that define the �frame� of the plot would be straightforward using the existing functions since the overall width and height of the graphics region is known, or can be found if a %pv is applied (such a resizing changes the margin size if not initially fixed).

This missing procedure is one of the reasons I tend to work with fixed margins, rather than letting %pl choose its own margins, and I generally also specify the axes range in the winop@ calls before graph is formed. Both approaches circumvent the particular problem being raised here.
Back to top
View user's profile Send private message Visit poster's website
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
Page 3 of 3

 
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