이것은 '데이터 플로트 데이터 레이블'질문에 대한 변형입니다. 그래서 몇 군데에서 보았습니다. 그러나, 나는 그것이 기생충 축에서 한 번도 본 적이 없다.Matplotlib : 기생충 축에 연결된 데이터에 데이터 레이블 플로팅
기본적으로 기생충 (오른쪽) 세로 축에 연결된 시계열 (녹색)의 각 점 위에 데이터 레이블을 표시하고 싶습니다. 나는 모두 par.plot_text(times[1], difference[1], difference[1])
및 par.annotate()
를 사용하여 시도했지만, 모두라는 에러를 던졌다
from mpl_toolkits.axes_grid1 import host_subplot
import matplotlib.pyplot as plt
times=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]
plotorder=[239, 133, 94, 42, 31, 27, 49, 99, 172, 292, 397, 439, 450, 391, 429, 374, 382, None, None, None, None, None, None, None]
lastyearorders=[119, 78, 49, 29, 14, 12, 30, 46, 108, 154, 194, 224, 181, 199, 213, 186, 167, 152, 135, 115, 99, 106, 97, 90]
difference=[100.8, 70.5, 91.8, 44.8, 121.4, 125.0, 63.3, 115.2, 59.3, 89.6, 104.6, 96.0, 148.6, 96.5, 101.4, 101.1, 128.7, None, None, None, None, None, None, None]
ordersMax=max(plotorder+lastyearorders)
growthMax=max(difference)
host = host_subplot(111)
par = host.twinx()
host.set_xlabel("Hour")
host.set_ylabel("Orders")
par.set_ylabel("% Growth")
host.set_xlim(0,24)
host.set_ylim(0,ordersMax*1.1)
par.set_ylim(0,growthMax*2)
p1, = host.plot(times, plotorder, linewidth=2, marker='o', color='r', label="Today's Orders")
p1, = host.plot(times, lastyearorders, linewidth=2, color='b', label="LY Orders")
p2, = par.plot(times, difference, marker='s', color='green', label="% Growth")
leg = plt.legend()
plt.show()
AttributeError: 'AxesParasite' object has no attribute 'plot_text'
이 내가 현재 가지고있는 것입니다 :
이
내가 현재 가지고있는 것입니다다음과 같이 Excel에서 입력하십시오 :
이 나를 위해 작동하는 것 같다
'par.annotate'는 어떤 오류를 발생 시켰습니까? par.annotate ('{}'. 형식 (d), xy = (t, d), ...)'와 같은 것을 통해 반복 할 수 있어야합니다. – wflynny