2017-08-14 2 views
-4

Ich habe eine Methode namens create_plot erstellt, um die x, y1, x_axis_name, y_axis_name Werte zu übergeben, um ein Python Chaco Graph zu erstellen.Python: dauert genau 1 Argument (0 gegeben) Fehler

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() 

Wenn ich kompilieren ich diesen Fehler "_create_plot_component() nimmt genau 1 Argument (0 gegeben)". ist "create_plot" richtige Methode, die ich erstellt habe? Wie kann ich diesen Fehler beheben?

+1

'self._create_plot_component()' – CoryKramer

+0

Es zeigt gleiche Fehler –

+1

Es wird nicht die gleichen Fehler zeigen, ich versichern Ihnen – CoryKramer

Antwort

1

Sie müssen diese Methode mit einer Klasseninstanz aufrufen, da es sich um eine (nicht statische) Klassenmethode handelt.

Lösung wäre etwas ähnliches. Ich kann das nicht sicher sagen, weil eine Menge Code zu fehlen scheint.

def _wind_speed_graph_default(self): 
    # note the my_instance 
    return my_instance._create_plot_component() 
Verwandte Themen