Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
Description
Bug report
Bug summary
I would like to set how xticks are aligned. There is the ha (for horizontalalignment) parameter which controls this with the possible values 'left', 'center' and 'right'.
To globally set this parameter, I tried to setxtick.alignment
in my .matplotlibrc config file.
However when setting it to 'left', I get an error (when I start ipython):
Bad val 'right' on line#27
"xtick.alignment : right
"
in file "/home/moritz/.config/matplotlib/matplotlibrc"
Key xtick.alignment: Unrecognized alignment string 'right': valid strings are ['center', 'top', 'bottom', 'baseline', 'center_baseline']
So I tried to set it to 'bottom' (to see what happens) and plotted a simple curve (see code below), but then I got a ValueError:
...
/usr/lib/python3.8/site-packages/matplotlib/text.py ininit(self, x, y, text, color, verticalalignment, horizontalalignment, multialignment, fontproperties, rotation, linespacing, rotation_mode, usetex, wrap, **kwargs)
156 self.set_wrap(wrap)
157 self.set_verticalalignment(verticalalignment)
--> 158 self.set_horizontalalignment(horizontalalignment)
159 self._multialignment = multialignment
160 self._rotation = rotation/usr/lib/python3.8/site-packages/matplotlib/text.py in set_horizontalalignment(self, align)
940 align : {'center', 'right', 'left'}
941 """
--> 942 cbook._check_in_list(['center', 'right', 'left'], align=align)
943 self._horizontalalignment = align
944 self.stale = True/usr/lib/python3.8/site-packages/matplotlib/cbook/init.py in _check_in_list(values, **kwargs)
2189 for k, v in kwargs.items():
2190 if v not in values:
-> 2191 raise ValueError(
2192 "{!r} is not a valid value for {}; supported values are {}"
2193 .format(v, k, ', '.join(map(repr, values))))ValueError: 'top' is not a valid value for align; supported values are 'center', 'right', 'left'
In conclusion, the matplotlibrc validation for the xtick.alignment parameter is bogus.
Code for reproduction
Either
xtick.alignment : top
Or
xtick.alignment : left
in .matplotlibrc
matplotlib.pyplot.plot([1,2,3], [5,3,9])
for provoking the ValueError (see above
Matplotlib version
- Operating system: Arch Linux
- Matplotlib version: 3.1.3
- Matplotlib backend (
print(matplotlib.get_backend())
): - Python version: 3.8.1