-4

我创建了一个名为 create_plot 的方法来传递 x、y1、x_axis_name、y_axis_name 值来创建 Python chaco 图。

    def create_plot(self, x, y1, x_axis_name, y_axis_name):
          self.x = x
          self.y1 = y1
          self.x_axis_name = x_axis_name
          self.y_axis_name = y_axis_name
          plotdata = ArrayPlotData(x, y1)
          plot = Plot(plotdata)
          plot.x_axis.title = x_axis_name #String Example "(s)"
          plot.y_axis.title = y_axis_name #String Example "(m)"

          renderer = plot.plot(("x", "y1"), type="line", color="blue", 
          width=2.0)[0]

          renderer.overlays.append(LineInspector(renderer, 
          axis='value',write_metadata=True, is_listener=True))

          plot.overlays.append(ZoomTool(plot, tool_mode="range"))
          plot.tools.append(PanTool(plot))
          container = HPlotContainer(background="lightgray")
          container.add(plot)
          return container

     def _create_plot_component(self):
           self.wind_speed_graph = self.create_plot(time_list, 
           data_list, "(s)", "(m)")


    wind_speed_graph = Instance(Component)
    def _wind_speed_graph_default(self):
           return _create_plot_component()

当我编译时,我收到此错误“_create_plot_component() 恰好需要 1 个参数(给定 0)”。“create_plot”是我创建的正确方法吗?我该如何解决这个错误?

4

1 回答 1

1

您需要使用类实例调用此方法,因为它是(非静态)类方法。

解决方案将与此类似。我无法确定,因为似乎缺少相当多的代码。

def _wind_speed_graph_default(self):
    # note the my_instance
    return my_instance._create_plot_component()
于 2017-08-14T20:05:18.487 回答