>source

여러 개의 수평 막대 그래프의 전체 y 축 범위를 플로팅하여 모든 값을 서로 정렬하고 맨 왼쪽 플롯의 Y-LABELS 만 표시합니다. PD.Grouper 함수를 사용하여 그림과 축을 시작하기 전에 시간 간격으로 PD.Gruper 함수를 사용하는 데이터 프레임이 있습니다. 데이터 프레임을 사용하는 IM은 각 축의 각 축에 플롯을 할당합니다. code는 값을 올바르게 줄이 아닙니다. sharey= y를 제거하면 각 플롯이 올바르게 표시되지만 물론 하나의 공통 y 축에 정렬되지 않습니다.

import pandas as pd
import matplotlib.pyplot as plt
#group by time interval
data_gb= data.groupby([pd.Grouper(freq='1min')])
#create and set y-axis range limits from original dataframe
custom_ylim= (data.price.min(), data.price.max())
#number of plots based on number of intervals
numplot= len(data_gb)
# create a tuple of axe names seems like a hack
axes=  tuple(['ax'+str(n) for n in range(1, numplot+1)])
f, axes= plt.subplots(1, numplot, sharey= True, sharex=True)
#iterate and assign plot to each axes
for (t, prices), ax in zip(data_gb, axes):
    ax.set_ylim(custom_ylim) #this doesn't seem to do anything
    prices.plot.barh('price', stacked=True, ax=ax)
    ax.legend_= None
plt.show()
timestamp                  price     colA      colB     colC     colD
2021-09-08 13:30:00+00:00  11.00      0.0  140037.0      0.0      0.0
2021-09-08 13:30:00+00:00  11.01  21963.0   34732.0   2961.0   1190.0
2021-09-08 13:30:00+00:00  11.02  17578.0   15434.0  12309.0      2.0
2021-09-08 13:30:00+00:00  11.03   2493.0   12393.0  11229.0    907.0
2021-09-08 13:30:00+00:00  11.04  17240.0   16406.0   1479.0    100.0
...                          ...      ...       ...      ...      ...
2021-09-08 13:31:00+00:00  11.01   8520.0   22579.0   4031.0    248.0
2021-09-08 13:31:00+00:00  11.02  64626.0   10330.0  11340.0   3862.0
2021-09-08 13:31:00+00:00  11.03  10967.0    5144.0   2621.0    640.0
2021-09-08 13:31:00+00:00  11.04  15168.0    2907.0      0.0      4.0
2021-09-08 13:31:00+00:00  11.05   1279.0       0.0      0.0      0.0

잘못 플로팅합니다.

y 축을 공유하지 않고도 플롯 된 개인. 첫 번째 그래프가 이전 플롯에서 누락 된 값을 볼 수 있습니다.

예, 나는 그것을 제거하고 왼쪽 몫을 닫았지만 여전히 작동하지 않습니다. 몫을 제거하면 일련의 독립적 인 플롯이되었습니다. 나는 모든 플롯에 대해 Y-레이블을 맞추고 싶습니다.

John Holmes2021-09-18 13:30:11

내가 ax.set_ylim (custom_ylim) 및 sharey= false를 제거하면 게시 한 두 번째 이미지처럼 보입니다. 파이썬 3.7 및 MATPLOTLIB 3.4..3을 사용하고 있습니다

John Holmes2021-09-18 13:30:11

Sharey= True와 Ax.set_ylim (custom_ylim)을 완전히 엉망으로 엉망으로 반복함으로써 개별적으로 개별적으로 할당합니다. 나는 Pandas 1.1.2를 사용하고 있습니다.

John Holmes2021-09-18 13:30:11

문제를 해결하기 위해 추가해야 할 추가 정보는 무엇입니까? 원한다면 이것을 채팅하도록 이동할 수 있습니까?

John Holmes2021-09-18 13:30:11

두 번째 데이터가있는 것처럼 보일 때 게시물에 따라 모든 데이터가 있지만 전체 및 각 막대가 정렬되는 가격의 높은 가격과 낮은 가격을 포괄하는 공통 Y 축을 원합니다. ...에

John Holmes2021-09-18 13:30:11
  • 이전 python : 숫자의 수단을 사용하여 NUMPY 배열 NAN 값을 채우는 방법은 무엇입니까?
  • 다음 pyspark : 열 값의 일치하는 문자열은 없음 값을 반환합니다