Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #109372

Matplotlib X-axis dates

From Joaquin Alzola <Joaquin.Alzola@lebara.com>
Newsgroups comp.lang.python
Subject Matplotlib X-axis dates
Date 2016-06-02 15:45 +0000
Message-ID <mailman.99.1464883218.1839.python-list@python.org> (permalink)
References <HE1PR07MB13560091396C4A9B39B57C6FF0580@HE1PR07MB1356.eurprd07.prod.outlook.com>

Show all headers | View raw


Hi Guys

Have been all day looking for a solution on the x-axis and the time plot.

The output that I get is this with all the dates shift to the right overlapping each other. http://postimg.org/image/fs4tx83or/

I want the x-axis to start at 0 and to finish after the 3 entries on the DB.

X Axis should show (and it does but shift one over each other to the right):
2016-06-02 11:15:00
2016-06-02 11:20:00
2016-06-02 11:25:00

Data on the Cassandra DB:
cqlsh:lebara_diameter_codes> select * from nl_lebara_diameter_codes;

country | service | date                            | errorcode2001 | errorcode3056 | errorcode4010 | errorcode4012 | errorcode4998 | errorcode4999 | errorcode5012
---------+---------+---------------------------------+---------------+---------------+---------------+---------------+---------------+---------------+---------------
      NL |    gprs | 2016-06-02 11:15:00.000000+0000 |          3061 |             0 |             1 |             0 |             0 |            50 |           741
      NL |    gprs | 2016-06-02 11:20:00.000000+0000 |          3204 |             0 |             9 |             0 |             0 |            56 |           725
      NL |    gprs | 2016-06-02 11:25:00.000000+0000 |          3044 |             0 |             8 |             0 |             0 |            64 |           722


Code:
sql = country_sql("NL",ago.strftime('%Y-%m-%d %H:%M:%S'),"gprs")
result = sql.sql_statement_range()
for i in result:
        country = i.country
        service = i.service
        x_list.append(i.date)
        code_2001.append(i.errorcode2001)
        code_4012.append(i.errorcode4012)
        code_4998.append(i.errorcode4998)
        code_4999.append(i.errorcode4999)
        code_5012.append(i.errorcode5012)
        code_3056.append(i.errorcode3056)
        code_4010.append(i.errorcode4010)

print(x_list)   --> Output is [datetime.datetime(2016, 6, 2, 11, 15), datetime.datetime(2016, 6, 2, 11, 20), datetime.datetime(2016, 6, 2, 11, 25)]
#date_nump=date2num([i for i in x_list])
date_nump=date2num(x_list)
print(date_nump) --> output is [ 736117.46875     736117.47222222  736117.47569444]
fig = plt.figure(figsize=(12,6))
ax = fig.add_subplot(111)
ax.set_title(country.upper() + " " + service,fontsize=16, fontweight='bold')
plt.plot(np.array(code_2001),label="2001")
plt.plot(np.array(code_3056),label="3056")
plt.plot(np.array(code_4010),label="4010")
plt.plot(np.array(code_4012),label="4012")
plt.plot(np.array(code_4998),label="4998")
plt.plot(np.array(code_4999),label="4999")
plt.plot(np.array(code_5012),label="5012")
lgd = plt.legend(loc='center left', bbox_to_anchor=(1, 0.5))
ax.set_xscale('linear')
ax.set_xticks(date_nump)
ax.set_xticklabels(num2date(date_nump))
#ax.xaxis.set_major_locator(HourLocator(byhour=range(0,24,2)))
ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d %H:%M:%S'))
#ax.xaxis.set_minor_locator(MinuteLocator())
ax.grid(True,linestyle='-',color='0.75')
plt.gcf().autofmt_xdate(bottom=0.2, rotation=30, ha='right')
plt.ylabel('Total Amount',fontsize=12, fontweight='bold')
plt.xlabel('Date/Time',fontsize=12, fontweight='bold')
plt.gca().set_ylim(bottom=0)
plt.savefig('testplot.png',bbox_extra_artists=(lgd,), bbox_inches='tight')
plt.show()
This email is confidential and may be subject to privilege. If you are not the intended recipient, please do not copy or disclose its content but contact the sender immediately upon receipt.

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Matplotlib X-axis dates Joaquin Alzola <Joaquin.Alzola@lebara.com> - 2016-06-02 15:45 +0000

csiph-web