On Wed, 07 Jun 2017 09:20:25 -0300, jorge.conr...@cptec.inpe.br wrote: [snip] > I was an IDL user and I'm using Python. I have several meteorological > daily time seriee for several years. Please can someone help me. I would > like to plot on X axis only the values o the year.
Is matplotlib allowed? Example (Python 2.7)(Note that most of this example is just parsing data, not plotting:): from matplotlib import pyplot as plt from datetime import date import re dwcd = """ 2014-06-01: 82.00% ( 1) 89.50% ( 2) 39.00% ( 1) 0.259 2014-07-01: 100.00% ( 1) 89.00% ( 3) 0.00% ( 1) 0.264 2014-08-01: 79.50% ( 2) 85.50% ( 4) 53.00% ( 1) 0.273 2014-09-01: 85.00% ( 3) 98.00% ( 6) 87.00% ( 3) 0.495 2014-10-01: 86.00% ( 7) 97.00% (10) 82.50% ( 4) 0.553 2014-11-01: 93.50% (10) 98.50% (10) 39.00% ( 6) 0.215 2014-12-01: 97.00% (10) 100.00% (10) 66.50% ( 6) 0.025 2015-01-01: 72.50% (12) 94.00% (11) 39.00% ( 6) 0.025 2015-02-01: 66.00% (12) 88.50% (12) 58.50% ( 8) 0.248 2015-03-01: 79.00% (15) 95.50% (12) 77.00% ( 9) 0.360 2015-04-01: 87.00% (15) 95.50% (12) 68.00% ( 9) 0.039 2015-05-01: 85.50% (18) 90.00% (12) 87.00% ( 9) 0.479 """ def get_time(r): r = r.strip() return date(year=int(r[0:4]), month=int(r[5:7]), day=int(r[8:10])) def get_field(r, field_name): m = re.match(r"(?P<date>[^:]+): +" r"(?P<value_a>[0-9.]+)% +" r"\( *(?P<n_a>[0-9]+)\) +" r"(?P<value_b>[0-9.]+)% +" r"\( *(?P<n_b>[0-9]+)\) +" r"(?P<value_c>[0-9.]+)% +" r"\( *(?P<n_c>[0-9]+)\) +" r"(?P<p>[0-9.]+)", r.strip()) return m.group(field_name) x = [get_time(r) for r in dwcd.split("\n") if r] y_a = [float(get_field(r, "value_a")) for r in dwcd.split("\n") if r] y_b = [float(get_field(r, "value_b")) for r in dwcd.split("\n") if r] y_c = [float(get_field(r, "value_c")) for r in dwcd.split("\n") if r] plt.plot(x, y_a, color="red", label="Group A") plt.plot(x, y_b, color="green", label="Group B") plt.plot(x, y_c, color="blue", label="Group C") plt.plot(date(2015,5,20), 101, marker="x", color="white") plt.ylabel("Y label") plt.legend(loc="upper left") fig = plt.gcf() fig.autofmt_xdate() plt.show() -- To email me, substitute nowhere->runbox, invalid->com. -- https://mail.python.org/mailman/listinfo/python-list