Skip to content
Snippets Groups Projects
main.py 5.38 KiB
Newer Older
  • Learn to ignore specific revisions
  • 数学の武士's avatar
    数学の武士 committed
    from .Plotter import Plotter
    from .Args import Args
    from pathlib import PurePath 
    import natsort
    import os
    
    
    manual_plot=True
    
    数学の武士's avatar
    数学の武士 committed
    save_result=True
    
    def dump(filename, var=[None], mval=[None]):
        Plot = Plotter()
        args = Args([filename], Plot.dump, var, mval, oname=[None], out=[None])
    
        Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
        Plot.dump()
    
    
    数学の武士's avatar
    数学の武士 committed
    def plot(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False):
    
    数学の武士's avatar
    数学の武士 committed
        Plot = Plotter()
    
    数学の武士's avatar
    数学の武士 committed
        args = Args([filename], Plot.plot, var=var, mval=mval, oname=oname, out=out, ifTranspose=ifTranspose)
    
    数学の武士's avatar
    数学の武士 committed
        Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
        Plot.plot()
    
    
    数学の武士's avatar
    数学の武士 committed
    def joint_plot(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False):
    
    数学の武士's avatar
    数学の武士 committed
        Plot = Plotter()
    
    数学の武士's avatar
    数学の武士 committed
        args = Args([filename], Plot.joint_plot, var=var, mval=mval, oname=oname, out=out, ifTranspose=ifTranspose)
    
    数学の武士's avatar
    数学の武士 committed
        Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
        Plot.joint_plot()
    
    
    数学の武士's avatar
    数学の武士 committed
    def multiple_plot(filename, out = './', oname = 'fig.png', var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False, linewidth = None, legend = None, colors = None, dpi=None, line_type = None):
    
        Plot = Plotter()
    
    数学の武士's avatar
    数学の武士 committed
        args = Args(filename, Plot.multiple_plot, var=var, mval=mval, oname=oname, out=out, ifTranspose=ifTranspose, linewidth=linewidth, legend=legend, colors=colors, dpi=dpi, line_type=line_type)
    
        Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
    
    数学の武士's avatar
    数学の武士 committed
        return Plot.multiple_plot()
    
    数学の武士's avatar
    数学の武士 committed
    def ani_plot(filename, out = './', oname = 'fig.gif', var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False):
    
    数学の武士's avatar
    数学の武士 committed
        pp = str(PurePath(filename).parent) + '/'
        name = str(PurePath(filename).name )
        command = 'find ' + pp + ' -name ' + "'" + name + "'"
        output_stream = os.popen(command)
        out_res = output_stream.read().split('\n')[0:-1]
        output_stream.close()
        names = natsort.natsorted(out_res,reverse=False)
    
        Plot = Plotter()
    
    数学の武士's avatar
    数学の武士 committed
        args = Args(names, Plot.ani_plot, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y, ifTranspose=ifTranspose)
    
    数学の武士's avatar
    数学の武士 committed
        Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
        Plot.ani_plot()
    
    
    数学の武士's avatar
    数学の武士 committed
    def plot_contour(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, levels=None, ifTranspose=False):
    
    数学の武士's avatar
    数学の武士 committed
        Plot = Plotter()
    
    数学の武士's avatar
    数学の武士 committed
        args = Args([filename], Plot.plot_contour, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y, levels=levels, ifTranspose=ifTranspose)
    
    数学の武士's avatar
    数学の武士 committed
        Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
        Plot.plot_contour()
    
    
    数学の武士's avatar
    数学の武士 committed
    def ani_plot_contour(filename, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False):
    
    数学の武士's avatar
    数学の武士 committed
        pp = str(PurePath(filename).parent) + '/'
        name = str(PurePath(filename).name )
        command = 'find ' + pp + ' -name ' + "'" + name + "'"
        output_stream = os.popen(command)
        out_res = output_stream.read().split('\n')[0:-1]
        output_stream.close()
        names = natsort.natsorted(out_res,reverse=False)
    
        Plot = Plotter()
    
    数学の武士's avatar
    数学の武士 committed
        args = Args(names, Plot.ani_plot_contour, var=var, mval=mval, oname=oname, out=out, min_y=min_y, max_y=max_y, ifTranspose=ifTranspose)
    
    数学の武士's avatar
    数学の武士 committed
        Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
        Plot.ani_plot_contour()
    
    
    数学の武士's avatar
    数学の武士 committed
    def avg_plot(filename, out = './', oname = 'fig.png', var=[None], mval=[None], ifTranspose=False):
    
    数学の武士's avatar
    数学の武士 committed
        Plot = Plotter()
    
    数学の武士's avatar
    数学の武士 committed
        args = Args([filename], Plot.avg_plot, var=var, mval=mval, oname=oname, out=out, ifTranspose=ifTranspose)
    
    数学の武士's avatar
    数学の武士 committed
        Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
    
        Plot.avg_plot()
    
    
    数学の武士's avatar
    数学の武士 committed
    def slice(filename, plane_type = 'xy', slice_position = 0, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False):
    
    数学の武士's avatar
    数学の武士 committed
        Plot = Plotter()
    
    数学の武士's avatar
    数学の武士 committed
        args = Args([filename], Plot.slice, var=var, mval=mval, oname=oname, out=out, plane_type=plane_type, slice_position=slice_position, ifTranspose=ifTranspose)
    
    数学の武士's avatar
    数学の武士 committed
        Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
        Plot.slice()
    
    
    数学の武士's avatar
    数学の武士 committed
    def ani_slice(filename, plane_type = 'xy', slice_position = 0, out = './', oname = [None], var=[None], mval=[None], min_y = None, max_y = None, ifTranspose=False):
        pp = str(PurePath(filename).parent) + '/'
        name = str(PurePath(filename).name )
        command = 'find ' + pp + ' -name ' + "'" + name + "'"
        output_stream = os.popen(command)
        out_res = output_stream.read().split('\n')[0:-1]
        output_stream.close()
        names = natsort.natsorted(out_res,reverse=False)
        
        Plot = Plotter()
        args = Args(names, Plot.ani_slice, var=var, mval=mval, oname=oname, out=out, plane_type=plane_type, slice_position=slice_position, ifTranspose=ifTranspose)
        Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
        Plot.ani_slice()
    
    
    数学の武士's avatar
    数学の武士 committed
    def plot_diff(filename, ndim, out = './', oname = 'fig.png', var=[None], mval=[None], ifTranspose=False):
    
        Plot = Plotter()
    
    数学の武士's avatar
    数学の武士 committed
        args = Args(filename, Plot.plot_diff, var=var, mval=mval, oname=oname, out=out, ndim=ndim, ifTranspose=ifTranspose)
    
        Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
        Plot.plot_diff()
    
    def get_data(filename, ndim):
        Plot = Plotter()
        args = Args([filename], Plot.get_data, ndim=ndim)
        Plot.set(args, if_manual_plot=manual_plot, if_save_result=save_result)
        data = Plot.get_data()
        return data