5

視覚化したいさまざまなクラスのデータポイントがあります。ここに私が得る画像があります: http://imgur.com/1x97h

10 クラス、それぞれ 300 の 3000 データポイントがあります。dそれらは、チャンクを反復処理する単一の配列に連結されます。ラベルは で与えられlabelsます。

pylab.clf()
colors = (i + j for j in 'o<.' for i in 'bgrcmyk')
for l, c  in zip(labels, colors):
  start, stop = i * 300, (i + 1) * 300
  pylab.plot(d[0, start:stop], d[1, start:stop], c, label=l)

pylab.legend(loc='lower left')
pylab.show()

なぜ私の伝説が台無しになったのか、誰か手がかりはありますか?

4

1 に答える 1

3

おそらく作成されたデータを含む、自己完結型の例があると、人々がすぐに実行できるようになります。ipython -pylabこれは、Matplotlib の最近の svn リビジョンを使用して、私にとっては問題なく動作する、あなたが投稿したものから変更された自己完結型の例です。最近、レジェンド関連のバグがいくつか修正されたと思います。

colors = (i + j for j in 'o<.' for i in 'bgrcmyk')
labels = 'one two three four five six seven eight nine ten'.split()
x = linspace(0, 2*pi, 3000)
d = (2+random((2,3000))) * c_[sin(x), cos(x)].T
for i, l, c  in zip(range(10), labels, colors):
    start, stop = i * 300, (i + 1) * 300
    plot(d[0, start:stop], d[1, start:stop], c, label=l)
legend(loc='lower left')
show()

そして、ここに私が得るものがあります:

例図 http://www.iki.fi/jks/tmp/legend.png

バグが自動凡例機能に関連していると仮定すると、凡例で何が必要かを明示することで回避できる場合があります。

colors = (i + j for j in 'o<.' for i in 'bgrcmyk')
labels = 'one two three four five six seven eight nine ten'.split()
x = linspace(0, 2*pi, 3000)
d = (2+random((2,3000))) * c_[sin(x), cos(x)].T
lg = []
for i, l, c  in zip(range(10), labels, colors):
    start, stop = i * 300, (i + 1) * 300
    handle = plot(d[0, start:stop], d[1, start:stop], c, label=l)
    lg.append(handle)
legend(lg, labels, loc='lower left')
show()
于 2009-05-16T14:34:13.570 に答える