jjj
1
Hi,

I have a problem using ‘symlog’ when the range maximum is below 1e0=1. Perhaps I’m misusing it, possibly the linthresh option.

Example notebook: https://gist.github.com/liangwang0734/fde9a033c3d8788075589e2f9fd87f0c

Sample code:

import numpy as np

import matplotlib as mpl

import matplotlib.pyplot as plt

def test(start):

linthresh = 10**(start+1)

tmp = np.logspace(start, start + 3, 20)

tmp = np.hstack((-tmp[::-1], tmp))

fig, ax = plt.subplots()

ax.plot(tmp, marker=‘o’)

ax.set_yscale(‘symlog’, linthresh=linthresh)

ax1 = ax.twinx()

ax1.plot(tmp, c=‘orange’, ls=’–’)

test(0) # OK, linear scale and symlog scale look different

test(-3) # iffy, linear scale and symlog scale look the same

jjj
2
It turns out for yscale, I need to use linthreshy not linthresh. Problem solved.

## ···

On Tue, Sep 22, 2020 at 11:45 PM Liang Wang <frank0734@gmail.com> wrote:

Hi,

I have a problem using ‘symlog’ when the range maximum is below 1e0=1. Perhaps I’m misusing it, possibly the linthresh option.

Example notebook: https://gist.github.com/liangwang0734/fde9a033c3d8788075589e2f9fd87f0c

Sample code:

import numpy as np

import matplotlib as mpl

import matplotlib.pyplot as plt

def test(start):

linthresh = 10**(start+1)

tmp = np.logspace(start, start + 3, 20)

tmp = np.hstack((-tmp[::-1], tmp))

fig, ax = plt.subplots()

ax.plot(tmp, marker=‘o’)

ax.set_yscale(‘symlog’, linthresh=linthresh)

ax1 = ax.twinx()

ax1.plot(tmp, c=‘orange’, ls=‘–’)

test(0) # OK, linear scale and symlog scale look different

test(-3) # iffy, linear scale and symlog scale look the same