gogagubi
ответ хороший, но шаг 4 не работает для меня, потому что set INCLUDE
и LIB
не работают для mingw32-make
.
Ему нужно установить INCPATH
и LIBS
в oci.pro
или используйте:
qmake "INCPAH +=c:\app\user\product[version]\client_1\oci\include
LIBS +=-Lc:\app\user\product[version]\client_1\oci\lib\msvc" oci.pro
Добавьте следующие строки в oci.pro
:
INCPATH +=c:\app\user\product[version]\client_1\oci\include
LIBS+=-Lc:\app\user\product[version]\client_1\oci\lib\msvc
Это будет зависеть от того, что вы рисуете.
import matplotlib.pyplot as plt
x=['long_text_for_a_label_a',
'long_text_for_a_label_b',
'long_text_for_a_label_c']
y=[1,2,3]
myplot = plt.plot(x,y)
for item in myplot.axes.get_xticklabels():
item.set_rotation(90)
Для панд и морского дна, которые дают вам объект Axes:
df = pd.DataFrame(x,y)
#pandas
myplot = df.plot.bar()
#seaborn
myplotsns =sns.barplot(y='0', x=df.index, data=df)
# you can get xticklabels without .axes cause the object are already a
# isntance of it
for item in myplot.get_xticklabels():
item.set_rotation(90)
Если вам нужно повернуть метки, вы может потребоваться изменить размер шрифта, вы можете использовать font_scale=1.0
для этого.
Я придумал аналогичный пример. Опять же, ключевое слово вращения ... ну, это ключ.
from pylab import *
fig = figure()
ax = fig.add_subplot(111)
ax.bar( [0,1,2], [1,3,5] )
ax.set_xticks( [ 0.5, 1.5, 2.5 ] )
ax.set_xticklabels( ['tom','dick','harry'], rotation=45 ) ;
import pylab as pl
pl.xticks(rotation = 90)
Если вы используете plt
:
plt.xticks(rotation=90)
В случае использования панд или морского дна, чтобы предположить ax
как оси для графика:
ax.set_xticklabels(ax.get_xticklabels(), rotation=90)
Другое способ сделать следующее:
for tick in ax.get_xticklabels():
tick.set_rotation(45)
Appart from
plt.xticks(rotation=90)
это также возможно:
plt.xticks(rotation='vertical')
Попробуйте pyplot.setp. Я думаю, вы могли бы сделать что-то вроде этого:
x = range(len(time))
plt.xticks(x, time)
locs, labels = plt.xticks()
plt.setp(labels, rotation=90)
plt.plot(x, delay)
Простой способ
Как , описанный здесь , существует существующий метод в классе matplotlib.pyplot
figure
, который автоматически поворачивает даты соответствующим образом для вас.
Вы можете вызывать его после того, как вы построили свои данные (например, ax.plot(dates,ydata)
:
fig.autofmt_xdate()
. Если вам нужно отформатировать ярлыки дальше, проверьте приведенную выше ссылку.
Объекты non-datetime
Согласно комментарию languitar , метод, предложенный мной для не-datetime xticks
, не будет корректно обновляться при масштабировании и т. д. Если это а не объект datetime
, используемый в качестве ваших данных по оси x, вы должны следовать Ответ Tommy :
for tick in ax.get_xticklabels():
tick.set_rotation(45)
Это работает для меня:
plt.xticks(rotation=90)
Мой ответ вдохновлен ответом cjohnson318, но я не хотел поставлять жесткий список ярлыков; Я хотел повернуть существующие метки:
for tick in ax.get_xticklabels():
tick.set_rotation(45)