matplotlib中的透明axes.axhline?

时间:2011-04-07 00:47:36

标签: python matplotlib

我正在尝试在轴上添加一条水平线来标记一个重要的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)

但是我遇到了一些问题:

  • 线宽是多少?点?
  • 这条线似乎不尊重我颜色的alpha值。它在a = 0时是透明的,在a > 0时是不透明的,没有半透明度。这是一个错误还是我做错了什么?

我正在使用:

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

1 个答案:

答案 0 :(得分:3)

线宽以磅为单位。

使用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的情节是什么?也许与特定类型的情节存在冲突。