728x90
반응형
SMALL
import matplotlib.pyplot as plt
import numpy as np
# 데이터 1
data1 = [(1, 4), (3, 7), (5, 9)]
# 데이터 2
data2 = [(2, 6), (4, 8), (6, 10)]
# 가로 막대 그래프 생성
fig, ax1 = plt.subplots()
# 데이터 1을 막대 그래프로 표시
for i, (start, end) in enumerate(data1):
ax1.barh(i, end-start, left=start, height=0.4, align='center', color='steelblue', alpha=0.7)
# 데이터 2를 막대 그래프로 표시
for i, (start, end) in enumerate(data2):
ax1.barh(i, end-start, left=start, height=0.4, align='center', color='orange', alpha=0.7)
# 축 설정
ax1.set_ylim(-0.5, max(len(data1), len(data2))-0.5)
ax1.set_xlim(0, max(max(end for _, end in data1), max(end for _, end in data2)))
ax1.set_yticks(range(max(len(data1), len(data2))))
ax1.set_yticklabels([f'Data {i+1}' for i in range(max(len(data1), len(data2)))])
ax1.set_xlabel('Value')
ax1.set_ylabel('Data')
# 두 번째 y축 생성
ax2 = ax1.twiny()
ax2.set_xlim(ax1.get_xlim())
# 두 번째 y축 레이블 설정
ax2.set_yticks(range(max(len(data1), len(data2))))
ax2.set_yticklabels([f'Data {i+1}' for i in range(max(len(data1), len(data2)))])
ax2.set_ylabel('Data')
# 그래프 출력
plt.show()
728x90
반응형
LIST
'Python Library > Matplotlib' 카테고리의 다른 글
[Matplotlib] 초기화 메서드 (0) | 2023.09.04 |
---|---|
[Matplotlib] 눈금 시간 설정 (0) | 2023.07.28 |
[Matplotlib] 공백 지우기 (0) | 2023.04.27 |
[Matplotlib] 여러 개의 그래프 그리기 (0) | 2022.03.02 |
[Matplotlib] Pandas의 시각화 기능 (0) | 2022.02.22 |