Mercurial > repos > jay > gaiac_time_synchronization
comparison gaiac_time_series/gaiac_time_series.py @ 0:d3418b0d9b27 draft
planemo upload for repository https://github.com/jaidevjoshi83/gaiac.git commit c29a769ed165f313a6410925be24f776652a9663-dirty
| author | jay |
|---|---|
| date | Thu, 15 May 2025 14:47:33 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:d3418b0d9b27 |
|---|---|
| 1 import numpy as np | |
| 2 import pandas as pd | |
| 3 import matplotlib.pyplot as plt | |
| 4 import seaborn as sns | |
| 5 import argparse | |
| 6 #%matplotlib inline | |
| 7 | |
| 8 def timeseries(infile,clm_list_y, custom_legend_label, outfile, plottitle,fig_height, fig_width, clm_lab_y, clm_lab_x): | |
| 9 | |
| 10 df=pd.read_csv(infile, sep="\t") | |
| 11 | |
| 12 cl = df.columns.tolist() | |
| 13 | |
| 14 clms = [cl[int(x)-1] for x in clm_list_y.split(',')] | |
| 15 | |
| 16 if custom_legend_label != None: | |
| 17 labels = custom_legend_label.split(',') | |
| 18 else: | |
| 19 labels = clms | |
| 20 | |
| 21 g=(df[clms].plot(figsize=(int(fig_height),int(fig_width)))) | |
| 22 g.set(ylabel=clm_lab_y, xlabel=clm_lab_x) | |
| 23 plt.legend(labels, ncol=2, loc='upper right',prop={'size': 6}) | |
| 24 plt.savefig(outfile,dpi=300,bbox_inches="tight") | |
| 25 | |
| 26 | |
| 27 if __name__=="__main__": | |
| 28 | |
| 29 parser = argparse.ArgumentParser() | |
| 30 parser.add_argument("-I", "--infile", required=True, default=None, help="Input data file in TSV format.") | |
| 31 parser.add_argument("-C", "--column_list_y", required=False, default=False, help="Comma-separated list of column names for Y-axis data.") | |
| 32 parser.add_argument("-L", "--custom_legend_name", required=False, default=None, help="Custom legend names as a comma-separated list (optional).") | |
| 33 parser.add_argument("-O", "--output", required=False, default='Out.png', help="Filename for the output plot image (default: 'Out.png').") | |
| 34 parser.add_argument("-T", "--title", required=False, default='Time Series plot', help="Title of the plot (default: 'Time Series plot').") | |
| 35 parser.add_argument("-H", "--height", required=False, default='14', help="Height of the figure in inches (default: 14).") | |
| 36 parser.add_argument("-W", "--width", required=False, default='12', help="Width of the figure in inches (default: 12).") | |
| 37 parser.add_argument("-Y", "--ylab", required=False, default='Y label', help="Label for the Y-axis (default: 'Y label').") | |
| 38 parser.add_argument("-X", "--xlab", required=False, default='X label(time)', help="Label for the X-axis (default: 'X label(time)').") | |
| 39 | |
| 40 args = parser.parse_args() | |
| 41 | |
| 42 timeseries(args.infile, args.column_list_y, args.custom_legend_name, args.output, args.title, args.width, args.height, args.ylab, args.xlab) | |
| 43 | |
| 44 | |
| 45 #plt.show() |
