Hi Jens and Samuel,
thanks. I am going to include your tips. Best regards Frieder On 2016-10-12 20:15, Jens Simon Strom wrote: > Hallo Frieder, > If you insert > plot(x(M),y(M),'go') after //Writing measurement numbers > > you get circle marks at the selected points to ease their correlation to the measurement number. > > Kind regards > Jens > ----------------------------------------------------------- > > Am 12.10.2016 18:16, schrieb Jens Simon Strom: > >> Hallo Frieder, >> You can independently combine stack and skip of the measurement numbers by the code below. >> >> //Plotting measurement numbers with optional gaps and optional stacking to avoid overlapping >> //Generating dummy measurement data x,y and plotting them >> dx=0.5:50;// increment of x >> x=cumsum(dx); >> y=sind(x); >> yspan=max(y)-min(y); >> nM=length(x);//number of measurements >> xdel(); >> plot(x,y,'r') >> plot(x,y,'b+') >> >> //Input parameters for plotting the measurement numbers with optional gaps and stacking to avoid overlapping >> nstack=6;//maximum number of stacked measurement numbers >> hstack=0.1;//height of measurement number stack (relative to span). hstack=0: no stacking independent of nstack >> ybase=-1; //base ordinate for measurement numbers >> step=2;// step=1: no gap, step=2: every second measurement number, etc. >> >> //Writing measurement numbers >> M=1:step:nM;//opted measurement numbers >> for m=1:length(M) >> xstring(x(M(m)),ybase+(modulo(M(m),nstack))*hstack*yspan/nstack,string(M(m))) >> end >> >> "How can I move the lettering above the plot (or at least to the bottom, next to the x-axis)?" By data_bounds (see axes_properties in the help pages) you can enlarge the y-axis beyond the y data span at will. The y-level of the lettering is controlled by the input variable 'ybase' (see code above). >> >> Kind regards >> Jens >> --------------------------------------------------------------------------------------------------------------------------------- >> >> Am 12.10.2016 14:01, schrieb Frieder Nikolaisen: >> >>> Hello everybody, >>> >>> I did solve the Problem with showing only 10 line numbers, by using IF. >>> >>> printer=1 >>> >>> for k=1:A_size(1,1) //Beschriftung >>> IF K>A_SIZE(1,1)*(PRINTER/10) THEN >>> printer = printer + 1 >>> xstring(x(k),y3(1),string(k)) >>> // xstring(x,y,str,[angle,[box]]) >>> end >>> set(handles.Anzeige, 'string', 'Diagrammbeschriftung ' + string(k) + ' von ' + string(A_size(1,1))) >>> end >>> >>> The line numbering is connected to the y-axis. How can I move the lattering aboth the plot (or at least the bottom, next to the x-axis)? (attached plot: subplot_with_line_number_2_tenth.gif) >>> >>> About Jens help: >>> >>> I attached three plots: the stacks Picture are with the Code of Jens. Stacking is really nice, but I do not need every line number. With 921 data Points, it is already unreadable again. But thanks for your ideas, the Code is great for learningn anyway. >>> >>> Cheers >>> >>> Frieder >>> >>> On 2016-10-12 11:48, Jens Simon Strom wrote: >>> >>>> Hello Frieder, >>>> Your plots look better now. You can avoid overlapping of measurement numbers by sawtooth stacking them. See example code below. >>>> >>>> xdel(); >>>> //Generating dummy measurements x,y >>>> dx=0.5:50; >>>> x=cumsum(dx); >>>> y=sind(x); >>>> nM=length(x);//number of measurements >>>> plot(x,y,'r') >>>> plot(x,y,'b+') >>>> //Plotting the measurement numbers in stacks to avoid overlapping >>>> nstack=6;//number of stacked measurement numbers >>>> hstack=0.2;//height of measurement number stack (relative to window height) >>>> ybase=-0.9; //base ordinate for measurement numbers >>>> yspan=max(y)-min(y); >>>> for m=1:nM//measurement number >>>> xstring(x(m),ybase+(modulo(m,nstack)-1)*hstack*yspan/nstack,string(m)) >>>> end >>>> Kind regards >>>> Jens >>>> ------------------------------------------------------------------------------------------------------------------------------ >>>> >>>> Am 12.10.2016 10:52, schrieb Frieder Nikolaisen: >>>> >>>>> Hello, >>>>> >>>>> thank you for all the feedback and help. It's really great. >>>>> >>>>> I used the idea of Jens Simon Strom combined with some help from last week: >>>>> >>>>> //Datensätze >>>>> x1 = (A(:,1) - A(1,1)) * 24 * 3600; >>>>> y1 = A(:,y_1); >>>>> y2 = A(:,y_2); >>>>> y3 = A(:,y_3); >>>>> drawlater() >>>>> >>>>> subplot(3, 1, 1) >>>>> co = color("green"); >>>>> plot2d(x1, y1, co); >>>>> a = gca(); >>>>> b.font_color = co; >>>>> a.foreground = co; >>>>> ylabel(string(kT(y_1)),"color",co) >>>>> a.x_location = 'top'; >>>>> >>>>> subplot(3, 1, 2) >>>>> co = color("blue"); >>>>> plot2d(x1, y2, co); >>>>> b = gca(); >>>>> b.font_color = co; >>>>> b.foreground = co; >>>>> ylabel(string(kT(y_2)),"color",co) >>>>> b.axes_visible(1) = "off"; >>>>> //b.marings = [0.1 0.1 0.3 0.5]; >>>>> //b.filled = "off"; >>>>> subplot(3, 1, 3) >>>>> co=color("red"); >>>>> plot2d(x1, y3, co); >>>>> c = gca(); >>>>> c.font_color = co; >>>>> c.foreground = co; >>>>> //c.axes_visible(1) = "off"; >>>>> ylabel(string(kT(y_3)),"color",co) >>>>> //xlabel(string('Zeit [Sekunden]'), co) >>>>> x= (A(:,1) - A(1,1)) * 24 * 3600; >>>>> for k=1:A_size(1,1) //Beschriftung >>>>> xstring(x(k),x(1),string(k)) // x(1) always 0 >>>>> // xstring(x,y,str,[angle,[box]]) >>>>> disp(x(1)) >>>>> end >>>>> //c.marings = [0.1 0.1 0.5 0.3]; >>>>> //c.filled = "off"; >>>>> >>>>> drawnow() >>>>> >>>>> The printed plots are attached. I did plot different paramters, as I can choose then in my GUI. >>>>> >>>>> That works well: >>>>> >>>>> * Three plots, having the same x axis. >>>>> * x axis on the top and bottom >>>>> * Line NUMBERS FITTING THE X AXIS. >>>>> >>>>> That does not work: >>>>> >>>>> * showing a FEW LINE NUMBERS only, for reading (best case: Fitting the automatic shown times in sec >>>>> >>>>> Problem: I cannot tell, how many datapoints there are going to be. So it mus be choosen automaticly. >>>>> >>>>> Best regards >>>>> >>>>> Frieder >>>>> >>>>> On 2016-10-11 21:04, Samuel Gougeon wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> Le 11/10/2016 14:46, Rafael Guerra a écrit : >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> I was not able to follow the whole discussion >>>>>> Neither did i, >>>>>> >>>>>>> but concerning your subplot challenge: "_… I cannot add a second x-axis in a subplot by newaxis(). How to add a x-axis by using subplot?_" and your last example, >>>>>>> >>>>>>> Couldn't you add a 4th subplot at the bottom in order to plot the 2ndx-axis (say by plotting only zeros)? >>>>>> . >>>>>> Why not using drawaxis() as already suggested? drawaxis() is made for this kind of situation. >>>>>> In this thread, no logarithmic axis is involved. So i do to catch the reason of ignoring drawaxis(). >>>>>> >>>>>> By the way, IMO, a drawing of what exactly is required would be clearer than hundred of lines of description, with schematic curves, axes, arrows linking curves to their multiple axes in x and y. >>>>>> >>>>>> BR >>>>>> Samuel Gougeon >>>>> >>>>> _______________________________________________ >>>>> users mailing list >>>>> users@lists.scilab.org >>>>> http://lists.scilab.org/mailman/listinfo/users >>> >>> _______________________________________________ >>> users mailing list >>> users@lists.scilab.org >>> http://lists.scilab.org/mailman/listinfo/users
_______________________________________________ users mailing list users@lists.scilab.org http://lists.scilab.org/mailman/listinfo/users