문제

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)

결과는 다음과 같습니다enter image description here

바라건대, 그것은 도움이됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top