Thanks Paul, No major show stoppers at present- you've seen a few of my work arounds on here. I understand/appreciate the issue with the personal users. I started dabbling with FTN95 there myself a few years ago. Ken
Native %pl
You have to play with the input parameters to see the failure. All of this (relating to Dan's program and Ken's program) has now been fixed. For the next release of the ClearWin+ library. Dan's original code (with minor adjustments) will probably also work.
Thanks Paul. And great when there is a lot of interested users, the pants on devilry responsible on all FTN95 bugs burn like a fire near mount Diablo.
And one minor detail for quick fix for Paul: the minus sign in negative part of Y axis in my or Ken's examples is also placed way too far from the number labels. I had to photoshop spaces out before showing plots to others
Dan
If you mean, for example, the distance between '-' and '3' in -3.0 then that depends only on the font that is used. There is no space character that separates the minus from the 3.0.
You could try using different fonts in your code to see if another font gives a better result.
All, Can you confirm Paul's words using his own last example on page 17? I see on X axis the minus sign on labels looks OK, on Y axis it is way off, specifically with large fonts, any type of fonts
The second plot below shows Dan's extra space between minus sign and number.

Thanks, Ken, this on the right is what i see. And sometimes this becomes a disaster like here

Disaster indeed Dan, that's another reason why on option to place the scales out side the frame would be beneficial. It would eliminate the scale text from x and y axis overlapping in cases like this:-

Ken
How did you get a y interval of 3 and just one significant figure in the y values?
Surely the default should be that annotation is placed outside the box? Almost always it will interfere (or there is a risk that it will interfere) with data being plotted within the box. When I developed a graphic subsystem (from first principles) in the 1970s and 1980s my users would never have even considered having annotation along axes within the plotting area ! http://www.vmine.net/g-exec/doc/gplot.pdf
Paul,
Using Dan's code:-
module surfplot2mod
use clrwin
integer (7) ihandleSP2
real*8 x(2),y(2), xEllipse, yEllipse
real*8 xAxisMin, xAxisMax, yAxisMin, yAxisMax
CONTAINS
INTEGER FUNCTION plotSP()
x(1)=xAxisMin
x(2)=xAxisMax
y(1)=yAxisMin
y(2)=yAxisMax
call simpleplot_redraw@
ixR=7; iYr=7
call get_plot_point@(1d0, 1d0, xEllipse, yEllipse)
call draw_filled_ellipse@ (nint(xEllipse), nint(yEllipse),ixR,iYr,rgb@(244,0,0) )
call UPDATE_WINDOW@(ihandleSP2)
plotSP= 2
end function plotSP
!......................................................
INTEGER FUNCTION clearPL()
CALL simpleplot_redraw@()
clearPL = 2
END FUNCTION clearPL
end module surfplot2mod
!.......................
Program SurfPlot2
use surfplot2mod
xAxisMin =-4
xAxisMax = 5
yAxisMin =-4
yAxisMax = 5
x(1)=xAxisMin
x(2)=xAxisMax
y(1)=yAxisMin
y(2)=yAxisMax
i = winio@ ('%ww%nr&')
call winop@ ('%pl[native,x_array,N_GRAPHS=1]')
call winop@ ('%pl[scale=linear]')
CALL winop@('%pl[tick_len=9]')
i = winio@ ('%sf%ts%bf&', 2d0)
call winop@ ('%pl[framed,axes_pen=3,width=3,x_axis='Length',y_axis='Width']')
i = winio@ ('%pv%pl&',800,600,2,x,y)!
i = winio@ ('%sf%ts%ff&', 1d0)
i = winio@ ('Set Xmin, Xmax%ta%df%9^rf%df%9^rf%ff&',1d-1,xAxisMin,'+', clearPL, plotSP, 1d0, xAxisMax,'+', clearPL, plotSP)
i = winio@ ('Set Ymin, Ymax%ta%df%9^rf%df%9^rf%ff&',1d-1,yAxisMin,'+', clearPL, plotSP, 1d0, yAxisMax,'+', clearPL, plotSP)
i = winio@ ('%cn%^bt[PLOT]%^bt[Clear]%ff&', '+', clearPL, plotSP, clearPL)
i = winio@ ('%ac[Esc]&', 'exit')
i = winio@ ('%hw%lw', ihandleSP2, lw_SP2)
jj = plotSP()
end
Use the spinwheel to change ymax, and observe y axis change multiple times for values between 5 and 20.
Ken
Paul, See also my 'Curly Wurly' code posted on Fri Sep 22, 2017 2:25 pm, I think this is the same basic problem. I've just rerun this with 8.2 and the strange effects on both axis scales are still apparent. Ken
Ken and Dan
The rogue space has now been located. Thank you.
silicondale
You may be right be don't forget that this development as grown out of the existing SIMPLEPLOT %pl.
Paul
How things go with the optimal numbering? Remember, we discussed that for the LOG scale the numbering has to be in the same style, it has to be either so called 'engineering' (10, 100, 1000 or 1e2, 1e3, 1e4...) or 'scientific' (101, 102, 10^4). May be good idea would be to introduce the appropriate WINOP@ key. Here is one example what %pl is doing right now

Dan
I have put the work on %pl to one side for now. Other things appear to be more urgent. He have already fixed some bugs and there is one more bug that I know about that is on the list. Hopefully I will be able to release a new set of DLLs before too long.
Hi, John-S -- strange. That link is a simple graphical PDF made by scanning the original printed paper. Shouldn't cause problems even for the latest version of Adobe Reader.
Looks like opposite to other native PL controls like
call winop@('%pl[pen_style=0,pen_style=0,pen_style=0,pen_style=0]')
call winop@('%pl[symbol=0,symbol=11,symbol=8, symbol=7]')
which set the parameters for each of 4 curves, the symbol_size=dval which specifies the size of symbols of curves (if there are few) not for each of them individually, am I right? In other words,
CALL winop@('%pl[symbol_size=16.,symbol_size=22.,symbol_size=1.]')
sets symbol_size =1 for all four curves. Also symbol_size=22 seems causing problems (crash)
Dan,
symbol_size is only specified once and applies to all curves with symbols in the plot. Maximum permitted value is 16.
Ken
Thanks Ken. Do you agree this is more a defect then a feature?