2017-03-16 7 views
0

파이썬 프로젝트를 위해 파이썬 3과 주피터 노트를 사용하고 있습니다. Matplotlib을 사용하여 Python에서이 차트 유형을 어떻게 얻을 수 있습니까?

나는 아래 링크에서 언급 차트 건너 온 :

Matplotlib Chart

내가 내 데이터와 비슷한 만들려하지만 난 그렇게 할 수있는 코드를 찾는 힘든 시간을 보내고 있어요. 이 차트는 x 축에 범주 값이 있더라도 산점도입니까? 또는 다른 차트 유형을 사용하여 내가 원하는 것을 달성해야합니까?

나의 현재 산점도 코드는 다음과 같다 : 모두가 y는 숫자 값입니다 X로 코드 위

x = mySelectedData['Leisure Per GN'] 
y = mySelectedData['Spa Per GN'] 
fig, ax = plt.subplots(figsize=(8, 4)) 
colors = 'blue' 
size = 250 #(10 + np.random.rand(num_points) * 10) ** 2 
ax.scatter(x, y, s=size, c=colors, alpha=0.5) 
fig.suptitle('CY 2015 - CY 2016:Leisure Per Gn versus Spa Per Gn') 

잘 작동합니다.

x = mySelectedData['Market'] 
y = mySelectedData['Leisure Per GN'] 

fig, ax = plt.subplots(figsize=(8, 4)) 
colors = 'green' 
size = 250 #(10 + np.random.rand(num_points) * 10) ** 2 
ax.scatter(x, y, s=size, c=colors, alpha=0.5) 
fig.suptitle('Leisure Per Gn: UK v/s Germany (CY 2016 -CY 2017)') 

코드 줄을 실행, 파이썬은 다음과 같은 오류 메시지가 발생합니다 : 나는 다음에 코드를 변경 한

ValueError: First argument must be a sequence 

나는 그것이 사실과 관련이있다 생각을 그 '시장' 범주 형 데이터입니다.

진행 방법에 대한 아이디어가 있으십니까?

답변

0

난 그냥 당신이 그것을 원하는 간격 방법을 얻을, 당신의 범주 데이터에 임의의 숫자 값을 할당하려고 한 다음 레이블을 설정하려면이 같은 것을 사용하는 것이 :

import matplotlib.ticker as politicker 

#Add x ticks at specified intervals 
x_labels = ["foo", "bar"] 
label_locations = [0, 1, 2, 3] #chosen x locations 

loc = plticker.FixedLocator() 
ax1.xaxis.set_major_locator(loc) 
plt.xticks(x_labels, label_locations) 

그 방법을 당신 ' 여전히 범주 데이터를 플로팅하고 있지만 Matplotlib은 수치 데이터를 계획하고 있다고 생각합니다.

+0

감사합니다. 나는 당신의 해결책을 시도 할 것이다. 그러나 나는 X_labels = [ "foo", "bar"] 줄에서 약간 혼란 스럽다. 이것을 내 맥락에 넣으면 다음과 같이 읽을 것입니다 : X_labels = mySelectedData [ 'Market']; 그 맞습니까? 또한 나중에 "loc = plticker.FixedLocator()"를 사용하기 때문에 "import matplotlib.ticker as politicker"행이 "import matplotlib.ticker as plticker"로 읽혀서는 안됩니까? – user3115933