<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi Uwe,</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
  Thanks for the question. NeXus doesn't get into specifying how a plot is to be formatted, but I think that you can get what you want while staying within the NeXus rules by setting the @units attribute on your time axis dataset to "seconds since 1970-01-01T00:00:00Z".
 This is because we go by the rule that any unit that is recognised by <a href="https://docs.unidata.ucar.edu/udunits/current/" id="LPlnk" title="https://docs.unidata.ucar.edu/udunits/current/">
UDunits</a> is acceptable, and "seconds since 1970-01-01T00:00:00Z" seems to be recognised. For your plotting routine, you could then just look at the @units attribute to decide if special date-time formatting is required. However, I don't know of anyone else
 using this units string , so I have CC'ed the nexus mailing list to invite further comments.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Another option is to store the time axis values in the dataset as a list of date-time strings, but this feels rather cumbersome to me and I don't recommend it.</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Cheers,</div>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Ben</div>
<div id="appendonsend" style="color: inherit;"></div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display: inline-block; width: 98%;">
<div id="divRplyFwdMsg" dir="ltr" style="color: inherit;"><span style="font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);"><b>From:</b> Flechsig Uwe <uwe.flechsig@psi.ch><br>
<b>Sent:</b> Thursday, November 28, 2024 08:54<br>
<b>To:</b> Watts Benjamin <benjamin.watts@psi.ch><br>
<b>Subject:</b> nexus question</span>
<div> </div>
</div>
<div style="font-size: 11pt;">Dear Ben,<br>
I want to store and plot data y(t) where t is a time (actually: unix<br>
seconds, i.e. it needs special formatting to be shown in a reasonable way<br>
<br>
Question: which nexus attributes should I put in my hdf5 file and later<br>
check in my plot routine to apply the special formatting for my time axis?<br>
<br>
example how I typically do such time plots in python:<br>
timeformat = "%H"<br>
xfmt= mdates.DateFormatter(timeformat)<br>
ax1= plt.subplot(1, 1, 1)<br>
ax1.xaxis.set_major_formatter(xfmt)<br>
plt.plot(long2dt(self.xdata), self.data)<br>
plt.xlabel('date time')<br>
plt.ylabel(self.unit)<br>
plt.title(self.desc)<br>
<br>
Uwe<br>
--<br>
Paul Scherrer Institut     Tel: +41 56 310 4535<br>
Uwe Flechsig<br>
WSLA 124<br>
5232 Villigen PSI       <a href="mailto:uwe.flechsig@psi.ch" id="OWAaf92c0cb-7d52-8222-8c45-73321b10727b" class="OWAAutoLink">
mailto:uwe.flechsig@psi.ch</a><br>
SWITZERLAND             URL: <a href="https://www.psi.ch" id="OWAdd213128-39a2-47b4-027f-f1fe00723f94" class="OWAAutoLink" data-auth="NotApplicable">
https://www.psi.ch</a><br>
<br>
</div>
</body>
</html>