Используйте функцию MySQL FIELD()
:
SELECT name, description, ...
FROM ...
WHERE id IN([ids, any order])
ORDER BY FIELD(id, [ids in order])
FIELD()
возвратит индекс первого параметра, который равен первому параметру (кроме самого первого параметра).
FIELD('a', 'a', 'b', 'c')
возвратится 1
FIELD('a', 'c', 'b', 'a')
, возвратится 3
, Это сделает точно, что Вы хотите при вставке идентификаторов в IN()
пункт и эти FIELD()
функция в том же порядке.
Поскольку похоже, что вы просто используете один подзаголовок, вы можете пропустить add_subplot
и сразу перейти к add_axes
. Это позволит вам указать размер осей (в координатах относительно фигуры), чтобы вы могли сделать его настолько большим, насколько захотите внутри фигуры. В вашем случае это будет означать, что ваш код будет выглядеть примерно так
import matplotlib.pyplot as plt
fig = plt.figure()
# add_axes takes [left, bottom, width, height]
border_width = 0.05
ax_size = [0+border_width, 0+border_width,
1-2*border_width, 1-2*border-width]
ax = fig.add_axes(ax_size)
ax.plot_date((dates, dates), (highs, lows), '-', color='black')
ax.plot_date(dates, closes, '-', marker='_', color='black')
ax.set_title('Title')
ax.grid(True)
fig.set_figheight(96)
fig.set_figwidth(24)
Если вы хотите, вы даже можете поместить параметры в set_figheight
/ set_figwidth
прямо на рисунок ( )
звонок.
Попробуйте subplots_adjust
API:
subplots_adjust (* args, ** kwargs)
fig.subplots_adjust (left = None, bottom = None, right = None, wspace = None, hspace = None)
Обновите SubplotParams с помощью kwargs (по умолчанию rc, где None) и обновите местоположения подзаголовков