我需要在一個繪圖中繪製多個數據集。數據集的數量有所不同,所以我不知道會有多少。設置圖例中的最大行數
如果我只畫了傳說,我得到這個(以下MCVE):
我怎麼能告訴plt.legend()
只繪製說出的第10個傳說?我環顧了plt.legends()類,但似乎沒有任何理由來設置這樣的值。
MCVE:
import numpy as np
import matplotlib.pyplot as plt
dataset = []
for _ in range(20):
dataset.append(np.random.uniform(0, 1, 2))
lbl = ['adfg', 'dfgb', 'cgfg', 'rtbd', 'etryt', 'frty', 'jklg', 'jklh',
'ijkl', 'dfgj', 'kbnm', 'bnmbl', 'qweqw', 'fghfn', 'dfg', 'hjt', 'dfb',
'sdgdas', 'werwe', 'dghfg']
for i, xy in enumerate(dataset):
plt.scatter(xy[0], xy[1], label=lbl[i])
plt.legend()
plt.savefig('test.png')
我不知道這樣做的正確方法,但是可能的解決方法可能是將if語句放在for循環中,並且只在'_'小於10時使用'label ='? – DavidG
謝謝@DavidG。這確實是一個解決方法,但我想知道是否可能有一種「駭人」的方式來做到這一點。 – Gabriel