| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Y tick locations on secondary y-axis are ignored
I create a secondary y-axis on a plot and set custom y tick locations. But my specified tick locations get ignored. In this example the right hand y-axis should have ticks at positions [1, 2, 5, 10].
Code for reproduction
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
x = np.arange(1, 100)
y = np.sqrt(x)
ax.plot(x, y)
ax.set_xlim(0, 100)
ax.set_ylim(1, 10)
secax = ax.secondary_yaxis('right', functions=(lambda z: 10*np.log10(z), lambda z: np.power(10.0, z/10.0)))
# Secondary y-axis tick locations get ignored.
secax.set_yticks([1, 2, 5, 10])
plt.show()
plt.close()Actual outcome
Expected outcome
I expect the right hand y-axis to be labeled with ticks at positions [1, 2, 5, 10], not [0, 2, 4, 6, 8, 10]. If I try to force this by using matplotlib.tickerFixedLocator, I still see the same problem.
Matplotlib version
# packages in environment at C:\Miniconda3: # # Name Version Build Channel asn1crypto 1.3.0 py37_0 astroid 2.3.3 py37_0 blas 1.0 mkl ca-certificates 2020.1.1 0 certifi 2019.11.28 py37_0 cffi 1.13.2 py37h7a1dbc1_0 chardet 3.0.4 py37_1003 colorama 0.4.3 py_0 conda 4.8.2 py37_0 conda-package-handling 1.6.0 py37h62dcd97_0 console_shortcut 0.1.1 3 cryptography 2.8 py37h7a1dbc1_0 cycler 0.10.0 py37_0 freetype 2.9.1 ha9979f8_1 icc_rt 2019.0.0 h0cc432a_1 icu 58.2 ha66f8fd_1 idna 2.8 py37_0 intel-openmp 2019.4 245 isort 4.3.21 py37_0 jpeg 9b hb83a4c4_2 kiwisolver 1.1.0 py37ha925a31_0 lazy-object-proxy 1.4.3 py37he774522_0 libpng 1.6.37 h2a8f88b_0 matplotlib 3.1.3 py37_0 matplotlib-base 3.1.3 py37h64f37c6_0 mccabe 0.6.1 py37_1 menuinst 1.4.16 py37he774522_0 mkl 2019.4 245 mkl-service 2.3.0 py37hb782905_0 mkl_fft 1.0.15 py37h14836fe_0 mkl_random 1.1.0 py37h675688f_0 numpy 1.18.1 py37h93ca92e_0 numpy-base 1.18.1 py37hc3f5095_1 openssl 1.1.1d he774522_3 pandas 0.25.3 py37ha925a31_0 patsy 0.5.1 py37_0 pip 20.0.2 py37_1 powershell_shortcut 0.0.1 2 pycosat 0.6.3 py37he774522_0 pycparser 2.19 py37_0 pylint 2.4.4 py37_0 pyopenssl 19.1.0 py37_0 pyparsing 2.4.6 py_0 pyqt 5.9.2 py37h6538335_2 pysocks 1.7.1 py37_0 python 3.7.4 h5263a28_0 python-dateutil 2.8.1 py_0 pytz 2019.3 py_0 pywin32 227 py37he774522_1 qt 5.9.7 vc14h73c81de_0 requests 2.22.0 py37_1 ruamel_yaml 0.15.87 py37he774522_0 scipy 1.3.2 py37h29ff71c_0 seaborn 0.9.0 pyh91ea838_1 setuptools 45.1.0 py37_0 sip 4.19.8 py37h6538335_0 six 1.14.0 py37_0 sqlite 3.31.1 he774522_0 statsmodels 0.11.0 py37he774522_0 tornado 6.0.3 py37he774522_0 tqdm 4.42.0 py_0 urllib3 1.25.8 py37_0 vc 14.1 h0510ff6_4 vs2015_runtime 14.16.27012 hf0eaf9b_1 wheel 0.34.2 py37_0 win_inet_pton 1.1.0 py37_0 wincertstore 0.2 py37_0 wrapt 1.11.2 py37he774522_0 xlrd 1.2.0 py37_0 yaml 0.1.7 hc54c509_2 zlib 1.2.11 h62dcd97_3
Installed via Miniconda distro, standard channels for packages.
| Back | FazBrowse Home | New Git URL |
Activity
jklymak commented on Feb 5, 2020
This is fixed in 3.2, probably #14447.... Sorry for the inconvenience.
jklymak commented on Feb 5, 2020
I'm going to close, but feel free to report if 3.2 (or GitHub master) does not fix. I think if you do pip install matplotlib --pre (in a new environment!) you can easily check.