Python/Matplotlib의 수직 레이블이있는 Barchart
-
10-07-2019 - |
문제
Matplotlib를 사용하여 (수직) Barchart를 생성합니다. 문제는 내 레이블이 다소 길다는 것입니다. 막대 나 그 아래에있는 바에서 수직으로 표시하는 방법이 있습니까?
해결책
당신은 다음과 같은 것을 의미합니까?
>>> from matplotlib import *
>>> plot(xrange(10))
>>> yticks(xrange(10), rotation='vertical')
?
일반적으로 수직 방향으로 matplotlib의 텍스트를 표시하려면 키워드를 추가 할 수 있습니다. rotation='vertical'
.
추가 옵션을 보려면 도움말을 볼 수 있습니다 (matplotlib.pyplot.text).
yticks 함수는 Y 축의 진드기를 표시합니다. 원래 이것 또는 ylabel 함수를 의미하는지 확실하지 않지만 절차는 동일합니다. 회전 = '수직'을 추가해야합니다.
어쩌면 옵션 '수직 정렬'및 'horizontalalignment'를 찾을 수있어 진드기 또는 다른 요소와 관련하여 텍스트를 정렬하는 방법을 정의 할 수 있습니다.
다른 팁
Jupyter Notebook에서는 이와 같은 것을 사용할 수 있습니다
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
plt.xticks(rotation='vertical')
plt.plot(np.random.randn(100).cumsum())
또는 사용할 수 있습니다.
plt.xticks(rotation=90)
나는 보는 것이 좋습니다 Matplotlib 갤러리. 적어도 두 가지 예는 관련이있는 것 같습니다.
- text_rotation.py 텍스트 레이아웃이 어떻게 작동하는지 이해합니다
- barchart_demo2.py, 가장 기본적인 예보다 다소 복잡한 레이아웃이있는 막대 차트의 예입니다.
이 링크를 확인하십시오.https://python-graph-gallery.com/7-custom-barplot-layout/
import matplotlib.pyplot as plt
heights = [10, 20, 15]
bars = ['A_long', 'B_long', 'C_long']
y_pos = range(len(bars))
plt.bar(y_pos, heights)
# Rotation of the bars names
plt.xticks(y_pos, bars, rotation=90)
바라건대, 그것은 도움이됩니다.
제휴하지 않습니다 StackOverflow