Гистограмма с вертикальными метками на python /matplotlib

StackOverflow https://stackoverflow.com/questions/1221108

Вопрос

Я использую matplotlib для создания (вертикальной) гистограммы.Проблема в том, что мои ярлыки довольно длинные.Есть ли какой-нибудь способ отобразить их вертикально, либо в строке, либо над ней, либо под ней?

Это было полезно?

Решение

Вы имеете в виду что-то вроде этого:

>>> from matplotlib import *
>>> plot(xrange(10))
>>> yticks(xrange(10), rotation='vertical')

?

В общем, чтобы отобразить любой текст в matplotlib с вертикальной ориентацией, вы можете добавить ключевое слово rotation='vertical'.

Для получения дополнительных опций вы можете обратиться к справке (matplotlib.pyplot.text).

Функция yticks отображает тики по оси y;Я не уверен, что вы изначально имели в виду - это или функцию ylabel, но процедура всегда одинакова, вы должны добавить rotation='vertical'

Возможно, вам также пригодятся опции 'verticalalignment' и '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)

Результат будет таким введите описание изображения здесь

Надеюсь, это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top