2

対応する線の色とラベルを含む凡例を作成しようとしています。私の現在のコードは凡例をプロットしていますが、ラベルの最初の文字 (DL11 ではなく D) のみをプロットしています。プロットでラベルの切り捨てを停止する方法を知りたいです。将来的には、より多くの行と対応する色/ラベルを追加できるようにしたいと考えています. どんな助けでも大歓迎です。ありがとう

from numpy import *
import matplotlib.pyplot as plt
import pylab


data = loadtxt("/home/***")
d, tno1, qno1 = data[:,1], data[:,2], data[:,3]                         
d, tno1, qno1 = loadtxt("/home/***", usecols = (1,2,3), unpack=True)


plt.plot(tno1, qno1, label='DL11')
plt.legend( ('DL11') )
plt.show()
4

2 に答える 2

3

興味深い開梱の問題に遭遇しました。

また

 plt.legend()

また

 plt.legend(('DL11',)) # <- note the comma

望ましい結果が得られます。

これを行う理由を理解するには、https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/axes/_axes.py#L422のコードを参照してください。

ケースに入る呼び出しplt.legend(('DL11'))と同等の呼び出しは、行のリストに対して文字列を圧縮します->行が1つしかないため、「D」のラベルを生成します。plt.legend('DL11')len(args) == 1

これはバグだとは思いませんが、微妙です。

于 2013-07-31T20:16:17.723 に答える
1

pyplot は凡例のリストを期待していると思います。あなたのような1つのアイテムのリストの場合は、

pyplot.legend(['DL11'])

私の推測では、 pyplot.legend('DL11') はリストの最初の項目、つまり 'D' を取得します。

それが役に立てば幸い

于 2014-08-08T21:26:24.677 に答える