def plot(df, df_names, legendlabels=[None], saveName=None):
    """
        df           - PandasDataFrame timeseries for original hydrographs
        df_names     - list with column names
        saveName     - None, or string with figure name to be saved
        legendlabels - List of legendnames or [None]. If default ([None]) - standart names are used
    """

    distance_W_GW2 = 46.5  # this parameter has been found by regression analysis....
    distance_GW2_GW3 = 9.49  # this has been calculated through coordinates
    distance_GW3_GW4 = 13.6  # this has been calculated through coordinates

    print "calculating gradient....", df_names[-1], "-", df_names[0]
    df["gradient_W_GW2"] = (df[df_names[-1]] - df[df_names[0]]) / distance_W_GW2

    print "calculating gradient....", df_names[0], "-", df_names[1]
    df["gradient_GW2_GW3"] = (df[df_names[0]] - df[df_names[1]]) / distance_GW2_GW3

    print "calculating gradient....", df_names[1], "-", df_names[2]
    df["gradient_GW3_GW4"] = (df[df_names[1]] - df[df_names[2]]) / distance_GW3_GW4

    plot_pandas.plot_pandas_scatter(
        df,
        x=["W_1_averaging3", "W_1_averaging3", "W_1_averaging3"],
        y=["gradient_W_GW2", "gradient_GW2_GW3", "gradient_GW3_GW4"],
        saveName=saveName,
        xlabel="Mean river waterlevel [m AMSL]",
        title="Mean Hydraulic Gradient VS. Mean River Waterlevel",
        ylabel="Mean hydraulic gradient [-]",
        legendlabels=legendlabels,
        trendlinemode=1,
        ylim=[-0.015, 0.015],
        xlim=[-0.5, 2.5],
        df_scatter_kwargs={
            "marker": "o",
            "markersize": 2.0,
            "style": ".",
            "markeredgecolor": "black",
            "markeredgewidth": 0.0,
            "legend": False,
        },
        axeslabel_fontsize=18.0,
        title_fontsize=20.0,
        axesvalues_fontsize=18.0,
        annotation_fontsize=18.0,
        legend_fontsize=18.0,
    )
        fig, ((ax1, ax2, ax3), (ax4, ax5, ax6)) = plt.subplots(nrows=2, ncols=3, figsize=(11.69, 8.27))
        
        for ax, x, y, legendlabel, borders, ylabel, l_loc in zip(
            [ax1,                                   ax4],
            [['x', 'x', 'x'],                       ['x', 'x']],
            [['E_1', 'E_2', 'E_3'],                 ['T_1', 'T_2']],
            [['Method 1', 'Method 2', 'Method 3'],  ['Method 1', 'Method 2']],
            [[-100., 100., -1.8, 0.],               [-100., 100, 0., 40.]],
            ['Log Tidal Efficiency [-]',            'Timelag [min]'],
            ['upper right',                         'upper left']
            ):
            plot_pandas.plot_pandas_scatter(df1, x=x, y=y, saveName=None,
                    xlabel='Distance from shore [m]', title='Wells GWM1-GWM6', ylabel=ylabel,
                    trendlinemode=1, legendlabels=legendlabel,
                    xlim=[borders[0], borders[1]], ylim=[borders[2], borders[3]],
                    legend_location=l_loc, ax=ax, draw_axes=True,
                    df_scatter_kwargs={'marker': "o", 'markersize': 6., 'style': '.', 'markeredgecolor': 'black', 'markeredgewidth': 0.2, 'legend': False},
                    axeslabel_fontsize=18., title_fontsize=20., axesvalues_fontsize=18., annotation_fontsize=18., legend_fontsize=18.)

        for ax, x, y, legendlabel, borders, ylabel, l_loc in zip(
            [ax2,                                   ax5],
            [['x', 'x', 'x'],                       ['x', 'x']],
            [['E_1', 'E_2', 'E_3'],                 ['T_1', 'T_2']],
            [['Method 1', 'Method 2', 'Method 3'],  ['Method 1', 'Method 2']],
            [[-100., 100., -1.8 , 0.],               [-100., 100, 0., 40.]],
            ['Log Tidal Efficiency [-]',            'Timelag [min]'],
            ['upper right',                         'upper left']
            ):
            plot_pandas.plot_pandas_scatter(df2, x=x, y=y, saveName=None,
                    xlabel='Distance from shore [m]', title='Wells GWM1-GWM5', ylabel=ylabel,
            ['Log Tidal Efficiency [-]', 'Timelag [min]'],
            ['upper right', 'upper left']):
            plot_pandas.plot_pandas_scatter(df1,
                                            x=x,
                                            y=y,
                                            saveName=None,
                                            xlabel='Distance from shore [m]',
                                            title='Wells GWM1-GWM6',
                                            ylabel=ylabel,
                                            trendlinemode=1,
                                            legendlabels=legendlabel,
                                            xlim=[borders[0], borders[1]],
                                            ylim=[borders[2], borders[3]],
                                            legend_location=l_loc,
                                            ax=ax,
                                            draw_axes=True,
                                            df_scatter_kwargs={
                                                'marker': "o",
                                                'markersize': 6.,
                                                'style': '.',
                                                'markeredgecolor': 'black',
                                                'markeredgewidth': 0.2,
                                                'legend': False
                                            },
                                            axeslabel_fontsize=18.,
                                            title_fontsize=20.,
                                            axesvalues_fontsize=18.,
                                            annotation_fontsize=18.,
                                            legend_fontsize=18.)

        for ax, x, y, legendlabel, borders, ylabel, l_loc in zip(
        'H_gw3_at_W_high[m AMSL]',
        'H_gw4_at_W_high[m AMSL]',
        'H_gw5_at_W_high[m AMSL]',
        'H_gw6_at_W_high[m AMSL]']
    )
    figure_savename = list([
        'GW_1_vs_W_1.png',
        'GW_2_vs_W_1.png',
        'GW_3_vs_W_1.png',
        'GW_4_vs_W_1.png',
        'GW_5_vs_W_1.png',
        'GW_6_vs_W_1.png']
    )
    # --------------------------------------------------------------------------------------
    # END user inputs END
    # --------------------------------------------------------------------------------------

    path = os.path.dirname(sys.argv[0])
    fname = os.path.abspath(os.path.join(path, file_folder, file_name) )
    fign = os.path.abspath(os.path.join(path, figure_name))

    if mode == 'XLS':  #  WORKING WITH EXCEL SHEET
        # read excel file into pandas dataframe
        data = process2pandas.read_xlx_into_pandas(fname, sheetname=0)

        for Y_name1, Y_name2, sn in zip(overhead_names1, overhead_names2, figure_savename):
            sn = os.path.abspath(os.path.join(path, 'out/', sn))
            plot_pandas.plot_pandas_scatter(data, x=[X_name1, X_name2], y=[Y_name1, Y_name2], saveName=None, trendlinemode=trendlinemode,
                xlabel='River water level [m AMSL]', title='WATER LEVEL IN OBSERVATION WELL VS RIVER WATERLEVEL', ylabel='Well water level [m AMSL]')