Прозрачный axes.axhline в matplotlib? - PullRequest
1 голос
/ 07 апреля 2011

Я пытаюсь добавить горизонтальную линию к своим осям, чтобы отметить важное значение y, поэтому я использую:

fig = Figure(figsize=(5, 5))
ax = fig.add_axes((0.2, 0.2, 0.6, 0.6))
ax.plot(...)
ax.axhline(100000, xmin=0, xmax=1, linewidth=0.3, color=(0, 0, 0, 0.75))
canvas = FigureCanvasAgg(fig)
canvas.print_figure("chart.pdf", dpi=300)

Однако у меня есть несколько проблем:

  • Какая единица измерения ширины линии? точки?
  • Кажется, что линия не соответствует альфа-значению в моем цвете. Он прозрачен, когда a = 0, и непрозрачен, когда a > 0, полупрозрачность отсутствует. Это ошибка или я что-то не так делаю?

Я использую:

Mac OSX 10.6.7, Python 2.7, matplotlib 1.0.1, numpy 1.5.1

1 Ответ

3 голосов
/ 07 апреля 2011

Ширина линии в пунктах.

Прозрачность отлично работает для меня, используя matplotlib 1.0+.Вот код, который я использовал для проверки:

from matplotlib import pyplot as plt
import numpy as np

x = np.arange(0,10,.1)
y = np.sin(x)
plt.plot(x,y)
ax = plt.gca()
ax.axhline(.4, xmin=0, xmax=1, linewidth=0.3, color=(0, 0, 0, 0.75))
plt.show()

На каком графике вы пытаетесь нарисовать axhline?Возможно, существует конфликт с конкретным типом сюжета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...