<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def plot_triaxial(height, width, tools):
    '''Plot pandas dataframe containing an x, y, and z column'''
    import bokeh.plotting

    p = bokeh.plotting.figure(x_axis_type='datetime',
                              plot_height=height,
                              plot_width=width,
                              title=' ',
                              toolbar_sticky=False,
                              tools=tools,
                              active_drag=BoxZoomTool(),
                              output_backend='webgl')

    p.yaxis.axis_label = 'Acceleration (count)'
    p.xaxis.axis_label = 'Time (timezone as programmed)'

    # Plot accelerometry data as lines and scatter (for BoxSelectTool)
    colors = ['#1b9e77', '#d95f02', '#7570b3']
    axes = ['x', 'y', 'z']
    lines = [None,]*3
    scats = [None,]*3
    for i, (ax, c) in enumerate(zip(axes, colors)):
        lines[i] = p.line(y=ax, x='dt', color=c, legend=False, source=source)
        scats[i] = p.scatter(y=ax, x='dt', color=c, legend=False, size=1,
                             source=source)
    return p, lines, scats