title: How to make 'fuller' axis arrows with matplotlib
body: <p>I have the following code:</p>
  
  <pre><code>from mpl_toolkits.axes_grid.axislines import SubplotZero
  from matplotlib.transforms import BlendedGenericTransform
  import matplotlib.pyplot as plt
  import numpy
  
  if 1:
      fig = plt.figure(1)
      ax = SubplotZero(fig, 111)
      fig.add_subplot(ax)
  
      ax.axhline(linewidth=1.7, color="black")
      ax.axvline(linewidth=1.7, color="black")
  
      plt.xticks([1])
      plt.yticks([])
  
      ax.text(0, 1.05, 'y', transform=BlendedGenericTransform(ax.transData, ax.transAxes), ha='center')
      ax.text(1.05, 0, 'x', transform=BlendedGenericTransform(ax.transAxes, ax.transData), va='center')
  
      for direction in ["xzero", "yzero"]:
          ax.axis[direction].set_axisline_style("-|&gt;")
          ax.axis[direction].set_visible(True)
  
      for direction in ["left", "right", "bottom", "top"]:
          ax.axis[direction].set_visible(False)
  
      x = numpy.linspace(-0.5, 1., 1000)
      ax.plot(x, numpy.sin(x*numpy.pi), linewidth=1.2, color="black")
  
      plt.show()
  </code></pre>
  
  <p>which produces the following image:</p>
  
  <p><img src="https://i.stack.imgur.com/jp64i.png" alt="graph"></p>
  
  <p>The axis arrowheads look vestigial in comparison to the actual graph. How do I size them up a little so that they look normal with respect to the width of the axes.</p>
  
  <p>Also - it is difficult to see here, but the interior of the arrows is blue - how do I change that to black?</p>