Skip to content

setting x_scale symlog distorts graph #14597

Closed
@pjkrauspe

Description

@pjkrauspe

Bug report

EDIT:
I figured out it's due to the standard set as the option 'linscalex'.
Good addition would be force entry of linscalex when using symlog or throw a flag that linscalex is applied.
/EDIT

setting xscale to symlog produces a different graph than setting it to log

def func(a):
    return a**2*np.exp(a)
alpha=np.linspace(1,10,1000)
plt.plot(alpha,1e5*func(a=alpha))
axes=plt.gca()
axes.set_yscale('log')
axes.set_xscale('symlog')
plt.xlim(1,10)
plt.title('symlog')
plt.show()

plt.plot(alpha,1e5*func(a=alpha))
axes=plt.gca()
axes.set_yscale('log')
axes.set_xscale('log')
plt.xlim(1,10)
plt.title('log')

plt.show()

Actual outcome
symlog

log

Expected outcome

I expect this to show what I see when I plot 'log'.

Matplotlib version

  • Operating system: MAC OS X, reproduced on Ubuntu 16.04, too
  • Matplotlib version: 3.1.0
  • Python version: 3.7
  • Jupyter version (if applicable): 5.6.8

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions