저는 python으로 새로운데, 질문을 묻는 그래픽 인터페이스를 만들었습니다. 그러면 그래픽이 다른 창에 표시됩니다.파이썬, tkinter, 같은 하위 플롯에 3 개의 그룹화 된 히스토그램을 그렸습니다.
팬더 라이브러리를 사용하여 큰 csv 파일 작업을하고 있습니다.
내 그래픽 창에서 동일한 서브 플로트에 3 개의 누적 히스토그램을 그릴 때 문제가 있습니다.
세 가지 값, 경고 값 (VA, VI 및 VR), 연도 값 및 위치 값 (PK (유형 : 부동))이 있습니다.
캔버스의 서브 플로트에서 각 위치 및 각 경고 값에 대해 3 개의 누적 막대 그래프를 (연도별로) 플롯해야합니다.
위치별로 정렬 된 세 가지 경고 값을 플롯하기 위해 matplotlib를 사용하려고했지만 그래프에서 몇 년 동안의 표시 방법을 알 수 없습니다. 그래서 다른 방법을 시도했지만 완전히 작동하지 않습니다.
일부 df.groupby.plot을 만들려고했는데, 하나의 누적 막대 그래프를 그렸지만 그 중 3 개를 표시하려는 경우에는 작동하지 않았습니다. 3 가지 히스토그램을 플로팅하는 데는 성공하지만 3 가지 값이있는 위치 만 보여주고 서로 옆에 있지 않고 서로 겹치고 있습니다. 그건 내가 원하는 것이 아니야.
때로는 VI 또는 VR이 없기 때문에 try/except를 넣어 스크립트를 중단하지 않습니다.
알아낼 수 있습니까?
g3m['pk']=[1,1,1,2,2,2,4,4,5,5,5,5,5,5,6,6,10,10,10,12,12,12,12,12,12,12,12]
g3m['annee']=[2010,2011,2012,2010,2012,2013,2011,2014,2010,2011,2012,2012,2012,2016,2016,2017,2010,2010,2014,2010,2010,2010,2010,2012,2013,2014,2014]
g3m['class_seuil']=['VA','VA','VA','VA','VA','VA','VA','VA','VA','VA','VA','VI','VR','VI','VI','VA','VI','VI','VR','VA','VA','VI','VI','VA','VI','VR','VA']
g3m['type_mesure']=['MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC','MAC']
그것은 팬더 DataFrame입니다 : 여기
내가 플롯 할 DF의 exemple입니다. 내 그림의 선언 여기됩니다 :
지금 여기에 부가 적 줄거리에 플로팅 내 코드입니다
f = Figure(figsize=(15,8), dpi=100)
f.subplots_adjust(top=0.97,hspace=0.41,left=0.05,bottom=0.08,right=0.91)
a = f.add_subplot(311)
c = f.add_subplot(312)
b = f.add_subplot(313)
을하고 여기에 줄거리 내 코드입니다 : 당신은
try:
g3mVa=pa.DataFrame()
g3mVa['pk']=g3m[g3m['class_seuil']=='VA']['pk_decimal_km_m']
g3mVa['annee']=g3m[g3m['class_seuil']=='VA']['annee']
g3mVa['type_mesure']=g3m[g3m['class_seuil']=='VA']['type_mesure']
g3mVa.groupby(['pk','annee']).count().unstack().plot(kind='bar',stacked=True,colormap='Greens',y='type_mesure',grid=True,ax=c,rot='horizontal')
c.hold(True)
except:
pass
try:
g3mVi=pa.DataFrame()
g3mVi['pk']=g3m[g3m['class_seuil']=='VI']['pk_decimal_km']
g3mVi['annee']=g3m[g3m['class_seuil']=='VI']['annee']
g3mVi['type_mesure']=g3m[g3m['class_seuil']=='VI']['type_mesure']
g3mVi.groupby(['pk','annee']).count().unstack().plot(kind='bar',stacked=True,colormap='Oranges',y='type_mesure',grid=True,ax=c,rot='horizontal')
c.hold(True)
except:
pass
try:
g3mVr=pa.DataFrame()
g3mVr['pk']=g3m[g3m['class_seuil']=='VR']['pk_decimal_km_p']
g3mVr['annee']=g3m[g3m['class_seuil']=='VR']['annee']
g3mVr['type_mesure']=g3m[g3m['class_seuil']=='VR']['type_mesure']
g3mVr.groupby(['pk','annee']).count().unstack().plot(kind='bar',stacked=True,y='type_mesure',colormap='Reds',grid=True,ax=c,rot='horizontal')
c.hold(True)
except:
pass
수 도와주세요?
원하는대로 플롯 할 수 있습니까?
코드가 실행되지 않습니다. ''pk_decimal_km_m ''이란 무엇입니까? – ImportanceOfBeingErnest