Я использую matplotlib
для построения кривой с нечисловой осью х. Я хотел бы, чтобы было какое-то пространство между осью y и началом сюжета.Вычисление нечисловой оси X от оси y
Этот код реализует подзаголовок с зазором (слева) & подзаголовок с пробелом с использованием метода set_xlim (справа). Почему мои xticklabels больше не соответствуют маркерам в подзаголовке справа?
Есть ли лучший способ сдвинуть мой график от оси, чем использовать set_xlim
?
Примечание. Причина, по которой я использую FigureCanvasAgg, состоит в том, что это легко передать в виде веб-запроса.
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
import math
def render_subplot(fig, parameters, xlim, ylim):
ax=fig.add_subplot(parameters)
labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
x_range = range(10)
if xlim: ax.set_xlim(xlim)
if ylim: ax.set_ylim(ylim)
ax.plot(
x_range, [math.sin(x/3.0) for x in x_range], 'g^-',
x_range, [math.cos(x/3.0) for x in x_range], 'b^-',
)
ax.set_xticklabels(labels, rotation=45)
fig=Figure(figsize=(8,4))
fig.set_facecolor('white')
render_subplot(fig, 121, xlim=None, ylim=[-1.2, 1.2])
render_subplot(fig, 122, xlim=[-0.5, 12], ylim=[-1.2, 1.2])
fig.autofmt_xdate()
canvas=FigureCanvas(fig)
canvas.print_png(file('gap_at_axis_examples.png', 'wb'))
Спасибо, идеальный. – ChrisGuest