matplotlib 제작 레이더 도면 오류 ValueError 의 실현

2003 단어 matplotlib레 다 투
교재 인 스 턴 스 에서 레이더 그림 을 작성 할 때 ValueError 가 발생 합 니 다.구체 적 으로 다음 과 같 습 니 다.
ValueError: The number of FixedLocator locations (7), usually from a call to set_ticks, does not match the number of ticklabels (6).
원래 코드 는 다음 과 같다.

import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family']='SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
labels = np.array(['  ','KDA','  ','  ','  ','  '])
nAttr = 6
data = np.array([7,5,6,9,8,7])
angles = np.linspace(0,2*np.pi,nAttr,endpoint=False)
data = np.concatenate((data,[data[0]]))
angles = np.concatenate((angles,[angles[0]]))
fig = plt.figure(facecolor="white")
plt.subplot(111,polar=True)
plt.plot(angles,data,'bo-',color ='g',linewidth=2)
plt.fill(angles,data,facecolor='g',alpha=0.25)
plt.thetagrids(angles*180/np.pi,labels)
plt.figtext(0.52,0.95,'DOTA      ',ha='center')
plt.grid(True)
plt.show()
이 유 는 array 유형 data,angles 를 폐쇄 할 때 labels 에 대해 같은 조작 을 하지 않 아 labels 내 요소 의 개수 가 앞의 두 가지 와 다 르 기 때문에 ValueError 가 발생 하기 때 문 입 니 다.
이전에 인터넷 에서 해결 방안 을 찾 았 는데 대부분의 응답 자 들 이 data,angles 에 대해 폐쇄 적 인 문 구 를 주석 하 는 것 을 선 택 했 지만 레이더 그림 이 완전 하지 않 고 연결선 이 부족 하 다 는 것 을 발견 했다.
不完整的雷达图
labels 를 똑 같이 닫 으 면 됩 니 다.

data = np.concatenate((data,[data[0]]))
angles = np.concatenate((angles,[angles[0]]))
labels=np.concatenate((labels,[labels[0]]))  # labels    
최종 실행 결과

matplotlib 제작 레이더 그래프 오류 ValueError 의 실현 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 matplotlib 레이더 그래프 오류 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기