title: is log1p the "correct" way of doing log scale transformation of charts?
body: <p>when transforming data to log scale for charting purposes, is it more <em>&quot;correct&quot;</em> in some way to <strong>always</strong> transform using <code>np.log1p</code> than with <code>np.log</code> and does it break any common user expectations?</p>
  <p>I'm building a charting software with log scale capabilities, and wonder if I should use <code>np.log</code> or <code>np.log1p</code> as the default choice when transforming the data.</p>
  <p>here's a vastly simplified code sample:</p>
  <pre><code>import matplotlib.pyplot as plt
  def chart_with_log_scale(x,y):
    ylog = np.log(y) # should I be using np.log1p here instead?
    plt.scatter(x,ylog )
  </code></pre>
  <p>or put a different perspective on this, does <code>matplotlib</code> use <code>log1p</code> or <code>log</code> when it does its log transform in code such as this?</p>
  <pre><code>def chart_with_log_scale2(x,y):
    plt.scatter(x,y)
    ax = plt.gca()
    ax.set_yscale(&quot;log&quot;)
  </code></pre>