일부 데이터를 플롯하기 위해 python 3.6.2 및 matplotlib와 함께 Jupyter-notebook을 사용하고 있습니다. 내 데이터를 플롯하면matplotlib 범례 성능 문제
, 나는 플롯에 범례를 추가 할 (기본적으로 어떤 라인 알고있는) 그러나 plt.legend
를 호출하면 플롯 자체로 (거의 많은 시간이 많이 걸립니다
하는 나의 이해에 다만 즉시이어야한다). 문제를 재현
최소 장난감 문제 : 여기
import numpy as np
import matplotlib.pyplot as plt
# Toy useless data (one milion x 4)
my_data = np.random.rand(1000000,4)
plt.plot(my_data)
#plt.legend(['A','C','G','T'])
plt.show()
데이터는 무작위 쓸모이지만, 내 문제 재현 : 나는 plt.legend
행의 주석을 해제하면 을 실행 거의 두 배의 시간이 소요
왜? 전설이 줄거리를 보지 않아도 4 개의 줄거리가 만들어 졌는지 확인하고 각 줄을 해당 줄에 할당하는 상자를 그립니다.
왜 간단한 전설에는 많은 시간이 걸립니까?
내가 누락 된 항목이 있습니까?
기본적으로 범례는 잠재적 인 범례 상자 안에있는 각 줄의 점 수를 계산해야하는 "최적의"위치에 배치됩니다. 포인트가 많으면 시간이 걸릴 수 있습니다. "최고"이외의 위치를 지정할 때 그리기 속도가 훨씬 빠릅니다. – bnaecker