2017-02-27 4 views
0

플롯의 커프스 단추 (팬더 시리즈 사용)를 사용하여 대화 형 막대 플롯을 플롯했습니다. 오프라인 모드에서 아래 pandas (ipython notebook)를 사용하여 커프스 단추로 만든 막대 그래프에 드롭 다운 상자 및 검색 상자를 추가하는 방법은 무엇입니까?

내가 플로팅을 위해 사용하고있는 코드입니다 : 여기

cf.go_offline() ## Use plotly in offline mode 

df.iplot(kind='bar', xTitle = 'roles',yTitle='count', title='Bar Plot:', filename='cufflinks/categorical-bar-chart') 

DF 내 시리즈와 역할 내 인덱스입니다 (x 축)

   Priority Year Avg_in_hrs   Total_in_Hrs 
Role       
A   Medium  2015  34.4    34 
B   Low  2014  33.55    123 
C   High  2014  3     4566 
D   Low  2015  12    3666 
.

이제 X 축 레이블의 드롭 다운 목록과 검색 상자를 추가하려면 역할 내 팬더 ​​데이터 프레임 열이 많은 값을 갖기 때문에 바다가 될 수 있습니다. 그 특정 역할에 대해서만 음모를 볼 수 있습니다. 어떻게 추가합니까?

또한 상호 작용을 유지할 수 있도록 웹 응용 프로그램을 사용하는 것과 같은 대화 형 플롯을 다른 사람들과 공유하는 방법은 무엇입니까?

감사

답변

1

사용자가 A을 선택하는 경우, 즉, 선택한 드롭 다운 메뉴에 따라 당신의 yaxisrangeA에 대한 구체적인에만 범위를 움직일 수가 표시됩니다.

이 코드는 각 index에 대한 드롭 다운 항목을 정의하고 그래프를 재설정합니다.

import pandas as pd 
import cufflinks as cf 
cf.go_offline() 

roles = 'ABCDE' 
prios = ['Medium', 'Low', 'High', 'Low', 'High'] 
years = [2015, 2014, 2014, 2015, 2014] 
avgs = [34.4, 33.55, 3, 12, 15] 
total_hours = [34, 123, 4566, 3666, 4000] 

data = dict() 
data['Prio'] = prios 
data['Year'] = years 
data['average'] = avgs 
data['hours'] = total_hours 

df = pd.DataFrame(data) 
df.index = list(roles) 
df.index.names = ['Role'] 

buttons = list() 
offset = -0.5 
for r in roles: 
    buttons.append(dict(
     args=['xaxis.range', [offset, offset + 1]], 
     label=r, 
     method='relayout' 
    )) 
    offset += 1 
buttons.append(dict(
    args=['xaxis.range', [-0.5, offset]], 
    label='Reset', 
    method='relayout' 
)) 
layout = dict(updatemenus=list([ 
     dict(
      x=-0.05, 
      y=0.8, 
      buttons=buttons, 
      yanchor='top' 
     ) 
    ]) 
) 
df.iplot(kind='bar', xTitle = 'roles',yTitle='count', title='Bar Plot:', filename='cufflinks/categorical-bar-chart', layout=layout) 
+0

감사합니다. 귀하의 코드를 사용하여 원래 데이터 세트를 그렸습니다. 좋아 보인다. 우선 순위, 연도 등의 모든 라벨 값이 y 축에 표시되지 않으며 드롭 다운 목록에 모든 라벨이 표시되지 않습니다. 내 역할 색인에 대해 64 개의 다른 값이 있습니다. 더 나은 나는 검색 상자뿐만 아니라 역할을 포함해야합니다. – Niranjanp

+0

내가 아는 한 Plotly는 무료 텍스트 검색 기능을 제공하지 않으므로 자바 스크립트에서 직접 구현해야합니다. 누락 된 y 축 레이블은 커프스 단추의 결과입니다. 커프스 단추의 결과는 매우 짧지 만 더 많은 컨트롤을 원한다면 Plotly의 구문을 사용해야합니다. –