Plotly:如何在 x 轴上仅绘制月份和日期?(忽略年份)
问题描述
I am trying to plot timeseries data and would like the x axis to just be Month and Day. Plotly requires format to be yyyy-mm-dd
, but I have daily averages from a data set over a few years, so I just want to plot mm-dd
on the x axis. When I send a datetime that is just mm-dd
it assumes the mm
to be the year. Can I get it to bypass the year and only take mm-dd
?
df_en_ave1.index = df_en_ave1.index.strftime('%m-%d') #convert my index to month and day datetime
trace1=go.Scatter(x=df_en_ave1.index, y=df_en_ave1.evap) #need to bypass year in date here somehow
data = [trace1]
plotly.offline.iplot(data)
解决方案
please try following way:
dcc.Graph(figure={
'data': [{
'x': ['2015-01-01', '2015-01-10 15:30:12', '2015-04-01'],
'y': [2, 1, 5]
}],
'layout': {
'xaxis': {
'tickformat': '%d/%m'
}
}})
other formats
%a - abbreviated weekday name.*
%A - full weekday name.*
%b - abbreviated month name.*
%B - full month name.*
%c - the locale's date and time, such as %x, %X.*
%d - zero-padded day of the month as a decimal number [01,31].
%e - space-padded day of the month as a decimal number [ 1,31]; equivalent to %_d.
%f - microseconds as a decimal number [000000, 999999].
%H - hour (24-hour clock) as a decimal number [00,23].
%I - hour (12-hour clock) as a decimal number [01,12].
%j - day of the year as a decimal number [001,366].
%m - month as a decimal number [01,12].
%M - minute as a decimal number [00,59].
%L - milliseconds as a decimal number [000, 999].
%p - either AM or PM.*
%Q - milliseconds since UNIX epoch.
%s - seconds since UNIX epoch.
%S - second as a decimal number [00,61].
%u - Monday-based (ISO 8601) weekday as a decimal number [1,7].
%U - Sunday-based week of the year as a decimal number [00,53].
%V - ISO 8601 week of the year as a decimal number [01, 53].
%w - Sunday-based weekday as a decimal number [0,6].
%W - Monday-based week of the year as a decimal number [00,53].
%x - the locale's date, such as %-m/%-d/%Y.*
%X - the locale's time, such as %-I:%M:%S %p.*
%y - year without century as a decimal number [00,99].
%Y - year with century as a decimal number.
%Z - time zone offset, such as -0700, -07:00, -07, or Z.
%{n}f for fractional seconds with n digits. For example, 2016-10-13 09:15:23.456 with tickformat %H~%M~%S.%2f would display 09~15~23.46*
%% - a literal percent sign (%).
thanks to https://community.plot.ly/t/how-to-make-the-messy-date-ticks-organized/7477/3
相关文章