Zeichnen Sie Arrays unterschiedlicher Länge

Ich zeichne den Fehler gegen die Anzahl der Iterationen für drei verschiedene Algorithmen. Die Anzahl der zu berechnenden Iterationen ist unterschiedlich, sodass die Arrays unterschiedlich lang sind. Dennoch möchte ich alle drei Linien auf dem gleichen Plot zeichnen. Derzeit erhalte ich diesen Fehler, wenn ich den folgenden Code verwende:

import matplotlib.pyplot as plt

plt.plot(ks, bgd_costs, 'b--', sgd_costs, 'g-.', mbgd_costs, 'r')
plt.title("Blue-- = BGD, Green-. = SGD, Red=MBGD")
plt.ylabel('Cost')
plt.xlabel('Number of updates (k)')
plt.show()

Der Fehler:

    plt.plot(ks, bgd_costs, 'b--', sgd_costs, 'g-.', mbgd_costs, 'r')
  File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/pyplot.py", line 2995, in plot
    ret = ax.plot(*args, **kwargs)
  File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/axes/_axes.py", line 1331, in plot
    for line in self._get_lines(*args, **kwargs):
  File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/axes/_base.py", line 312, in _grab_next_args
    for seg in self._plot_args(remaining[:isplit], kwargs):
  File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/axes/_base.py", line 281, in _plot_args
    x, y = self._xy_from_xy(x, y)
  File "/Library/Python/2.7/site-packages/matplotlib-1.4.x-py2.7-macosx-10.9-intel.egg/matplotlib/axes/_base.py", line 223, in _xy_from_xy
    raise ValueError("x and y must have same first dimension")
ValueError: x and y must have same first dimension

AKTUALISIEREN

Dank der Antwort von @ ibizaman habe ich diese Handlung gemacht:

Antworten auf die Frage(1)

Ihre Antwort auf die Frage