Why can I not format the labels on a semilogx plot?

Hi everyone, I have been using code similar to the below to

    > format the labels on scatter plots with the x axis set to a
    > logarithmic scale. However when I try the below I still get
    > the base and exponent instead of the product (ie '10**2'
    > instead of '100'). Can anyone tell me what I am doing
    > wrong? Sorry about the large data sample but I figured it
    > was best to be as accurate as possible.

The call to semilogx calls ax.set_xscale which overrides your custom
formatter. The following should work

  ax.semilogx(x_axis, fp_y_axis, 'r', linewidth=0.1, markersize=2, label = "False Positive")
  formatter = FuncFormatter(log10Product)
  ax.xaxis.set_major_formatter(formatter)

Ie, set your formatter after any call to set_xscale or semilogx.

JDH