[Scilab-users] Converting UT to Standard Time

Pablo Fonovich pablo_f_7 at hotmail.com
Wed Dec 9 20:00:32 CET 2015


Hi:
First of all i want to ask you if time = [63602,63602.05,63603,63603.5,63604,63606] is correct. As you may notice, the first two values are too near... so in the plot the tics appear overlapped... if you use time = [63602,63602.5,63603,63603.5,63604,63606] the plot's tics become clearer...

The second question is how near this tics are supposed to be in the worst case? for example, if your time conssists of values sepparated about 0.05, you could create a new vector containing the positions of the tics, that exclude too near values... I mean:

time = [63602,63602.05,63602.09,63603.5,63604,63606]
values = [1,2,3,4,5,7]

function convertedtime = timestring(UT) //converts UT
    h=int(UT/3600);
    UT=UT-h*3600;
    m=int(UT/60);
    UT=UT-m*60;
    if UT < 10 then
        convertedtime = string(h) + ":" + string(m) + ":0" + string(UT);
    else
        convertedtime = string(h) + ":" + string(m) + ":" +string(UT);
    end
endfunction

    timeTics=time(1)
    for i=1:length(time)
        if(abs(timeTics($)-time(i))>=0.5)
            timeTics=[timeTics;time(i)]
        end
    end

newtime = timestring(timeTics);
plot(time,values);
a=gca();
ticks = a.x_ticks
ticks.labels=newtime
ticks.locations=timeTics
a.x_ticks=ticks

This may be non optimall solution, but may work



Date: Wed, 9 Dec 2015 18:37:37 +0100
From: flotschos at gmail.com
To: users at lists.scilab.org
Subject: [Scilab-users] Converting UT to Standard Time

Hi,I have a problem. I get data about the time from a file in UT. That means I get the number of seconds elapsed on the day instead of a "normal" time (e.g. 63602 actually means 17:40:02)
I'm trying to plot some values with this time but to make it more readable I would like to use "17:40:02" for the ticks on the x-axis instead of the seconds,so I wrote a function to convert the seconds to a string.
If I don't change the ticks to the custom strings it automatically only shows 7 ticks but if I change it like I did, it shows the ticks for every single value I use and the whole thing becomes sort of unreadable.Is there a possibility to convert the time differently or can I somehow limit the number of ticks that should be drawn?


///////////////////////////////////////////////////////////////////////time = [63602,63602.05,63603,63603.5,63604,63606]values = [1,2,3,4,5,7]
function convertedtime = timestring(UT) //converts UT    h=int(UT/3600);    UT=UT-h*3600;    m=int(UT/60);    UT=UT-m*60;    if UT < 10 then        convertedtime = string(h) + ":" + string(m) + ":0" + string(UT);    else        convertedtime = string(h) + ":" + string(m) + ":" +string(UT);    endendfunction
newtime = timestring(time);
plot(time,values);a=gca();ticks = a.x_ticksticks.labels=newtimeticks.locations=timea.x_ticks=ticks
////////////////////////////////////////////////////////////


Regards,Flotschos

_______________________________________________
users mailing list
users at lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20151209/58353c8d/attachment.htm>


More information about the users mailing list