Python/Python For Analytics

[Python] matplotlib - 그래프에 값 표시 하기

Pydole 2020. 8. 2. 15:45

 

그래프에 값을 표시 하기 위해서는 matplotlib.pyplot.text 를 사용하면 되며, 

 

x축과 y축의 좌표에 값을 텍스트로 표시하는 것이다.

 

x = [1,2,3,4,5]
y = [100,200,300,400,500]

import matplotlib.pyplot as plt

plt.bar(x,y)

for i, v in enumerate(x):
    plt.text(v, y[i], y[i],                 # 좌표 (x축 = v, y축 = y[0]..y[1], 표시 = y[0]..y[1])
             fontsize = 9, 
             color='blue',
             horizontalalignment='center',  # horizontalalignment (left, center, right)
             verticalalignment='bottom')    # verticalalignment (top, center, bottom)

plt.show()

 

 

 

 

 

만약 최저값만 표시를 하려고 한다면, 아래와 같이 y : x 딕셔너리를 만든 후 최저 키(y)을 찾은 후 표시하면 될 것이다.

 

 

x = [1,2,3,4,5]
y = [100,200,300,400,500]

import matplotlib.pyplot as plt


dic = { y:x for x, y in zip(x, y) }

plt.bar(x,y)
plt.text(dic[min(y)],min(y),
         str(min(y)) + ' Min Point',
         color='r',
         horizontalalignment='center',
         verticalalignment='bottom')

plt.show()

 

 

import matplotlib.pyplot as plt

local = ['Seoul','Jeju','Pusan','Daegu', 'Daejeon', 'Bucheon']
value = [40,35,38,36,39,36]

dic = { y:x for x, y in zip(name1, value) }

plt.title('pydole')
plt.plot(local, value)
plt.text(dic[min(dic)],min(dic),
         'Min Point',
         color='r',
         horizontalalignment='center',
         verticalalignment='top')

plt.show()