Data 공부

[데이터 시각화] Python - 방사형 그래프 (Radar Chart) 그리기 본문

Data 공부/데이터 시각화

[데이터 시각화] Python - 방사형 그래프 (Radar Chart) 그리기

Junseokk 2023. 6. 12. 13:18

matplotlib을 이용하여 방사형 그래프(Radar Chart)를 그리는 코드입니다.


 

예제 코드는 Input data 길이가 4인 데이터 대한 예제입니다.

 

예제 코드)

def plot_radar_chart(values:list):
    """
    plot radar chart
    Args:
        values (list) : len(4)
    """
    values += values[:1] # Because of the circulating Radar Chart personality.
    N = len(values) - 1
    angles =  [n / float(N) * 2 * pi for n in range(N)]
    angles += angles[:1]

    plt.figure(figsize=(7,6))
    ax = plt.subplot(111, polar=True)

    ax.yaxis.grid(linewidth=1, linestyle='--', color='#BFBFBF')
    ax.grid(alpha=0.7)
    ax.tick_params(axis='x', which='major', pad=25, labelsize=15)
    ax.set_rlabel_position(0)
    ax.scatter(angles, values, color = '#1754A5', s=20)
    ax.plot(angles, values, color='#1754A5', linewidth=2, linestyle='solid')    # Plot data
    ax.fill(angles, values, color='#0084E1', alpha=0.2)    # Fill area

    circle = plt.Circle((0, 0), 100, transform=ax.transData._b, fill=False, edgecolor='#7D7D7D', linewidth=5, zorder=10)
    plt.gca().add_artist(circle)

    plt.ylim(0,100)
    xticks = [" ", " ", " ", " "]
    plt.xticks(angles[:-1], xticks, color='black', size=15)
    plt.yticks(alpha=0.3, size=14)
    plt.show()
    plt.close()
plot_radar_chart([27,100,100,45])

 

예제 PLOT)

 

<예제 Plot - 방사형 차트>

반응형
Comments