Esempio n. 1
0
 def test_generate_plot_command_returns_correct_string_for_sample_log(self):
     kwargs = copy(LINE2D_KWARGS)
     kwargs["drawstyle"] = 'steps-post'
     kwargs.update({
         "LogName": "my_log",
         "ExperimentInfo": 0,
         "Filtered": True
     })
     # add a log
     AddTimeSeriesLog(self.test_ws,
                      Name="my_log",
                      Time="2010-01-01T00:00:00",
                      Value=100)
     AddTimeSeriesLog(self.test_ws,
                      Name="my_log",
                      Time="2010-01-01T00:30:00",
                      Value=15)
     AddTimeSeriesLog(self.test_ws,
                      Name="my_log",
                      Time="2010-01-01T00:50:00",
                      Value=100.2)
     line = self.ax.plot(self.test_ws, **kwargs)[0]
     output = generate_plot_command(line)
     expected_command = ("plot({}, {})".format(
         self.test_ws.name(), convert_args_to_string(None, kwargs)))
     self.assertEqual(expected_command, output)
Esempio n. 2
0
 def test_generate_plot_command_returns_correct_string_for_line2d(self):
     kwargs = copy(LINE2D_KWARGS)
     kwargs.update(MANTID_ONLY_KWARGS)
     line = self.ax.plot(self.test_ws, **kwargs)[0]
     output = generate_plot_command(line)
     expected_command = ("plot({}, {})".format(
         self.test_ws.name(), convert_args_to_string(None, kwargs)))
     self.assertEqual(expected_command, output)
Esempio n. 3
0
def generate_plot_command(artist):
    pos_args = get_plot_command_pos_args(artist)
    kwargs = get_plot_command_kwargs(artist)
    if isinstance(artist, ErrorbarContainer) and not errorbars_hidden(artist):
        base_command = BASE_ERRORBAR_COMMAND
    else:
        base_command = BASE_CREATE_LINE_COMMAND
    arg_string = convert_args_to_string(pos_args, kwargs)
    return base_command.format(arg_string)
 def test_generate_plot_command_returns_correct_string_for_errorbar_container(
         self):
     kwargs = copy(ERRORBAR_KWARGS)
     kwargs.pop('markeredgewidth')
     kwargs.update(MANTID_ONLY_KWARGS)
     err_cont = self.ax.errorbar(self.test_ws, **kwargs)
     output = generate_plot_command(err_cont)
     expected_command = ("errorbar({}, {})".format(
         self.test_ws.name(), convert_args_to_string(None, kwargs)))
     self.assertEqual(expected_command, output)
Esempio n. 5
0
def generate_plot_2d_command(artist, ax_object_var):
    lines = []
    pos_args = get_plot_command_pos_args(artist)
    kwargs = get_plot_command_kwargs(artist)
    if isinstance(artist, AxesImage):
        base_command = BASE_IMSHOW_COMMAND
    else:
        base_command = BASE_PCOLORMESH_COMMAND
    arg_string = convert_args_to_string(pos_args, kwargs)
    lines.append(
        f"{CFILL_NAME} = {ax_object_var}.{base_command}({arg_string})")
    cbar_lines, cbar_headers = get_colorbar(artist, CFILL_NAME, ax_object_var)
    lines.extend(cbar_lines)
    return lines, cbar_headers
 def test_convert_args_to_string_returns_correct_string(self):
     kwargs_dict = OrderedDict({
         'key0': 'val0',
         'key1': [2, 'str'],
         'key2': 1,
         'key3': {
             'a': 1.1,
             'b': {
                 'c': ['str2', 1.1]
             }
         },
         'ndarray': array([1.1, 1.2])
     })
     expected_str = (
         "key0='val0', key1=[2, 'str'], key2=1, key3={'a': 1.1, "
         "'b': {'c': ['str2', 1.1]}}, ndarray=[1.1, 1.2]")
     self.assertEqual(expected_str,
                      convert_args_to_string(None, kwargs_dict))
 def test_generate_plot_2d_command_returns_correct_string_for_colorfill(
         self):
     kwargs = copy(CFILL_KWARGS)
     kwargs.update(MANTID_ONLY_KWARGS)
     cfill = self.ax.imshow(self.test_ws, **CFILL_KWARGS)
     self.fig.colorbar(cfill, ax=[self.ax])
     output, headers = generate_plot_2d_command(cfill, "axes")
     arg_string = convert_args_to_string([self.test_ws], kwargs)
     expected_command = [
         f"{CFILL_NAME} = axes.imshow({arg_string})",
         f"{CFILL_NAME}.set_norm(plt.Normalize(vmin=",
         f"cbar = fig.colorbar({CFILL_NAME}, ax=[axes], pad=0.06)"
     ]
     self.assertEqual(len(expected_command), len(output))
     self.assertEqual(len(headers), 0)
     for line_no in range(len(output)):
         # only compare to the length of the expected output
         # as one line is truncated on purpose
         self.assertEqual(expected_command[line_no],
                          output[line_no][:len(expected_command[line_no])])
Esempio n. 8
0
def generate_legend_commands(legend):
    """
    Generates a string containing a comma separated list of kwargs to set legend properties.
    """
    kwargs = get_legend_command_kwargs(legend)
    return convert_args_to_string([], kwargs)
Esempio n. 9
0
def generate_subplots_command(fig):
    kwargs = get_subplots_command_kwargs(fig)
    kwargs = _remove_kwargs_if_default(kwargs)
    return BASE_SUBPLOTS_COMMAND.format(convert_args_to_string(None, kwargs))