Comments (7)
Sorry, I got confused.
The expected behavior of matplotlib is for the categories to be displayed from bottom-to-top.
But within the categories, the bars should display in proper order of the legend.
The current barh function gives this plot with the sample code:
Flipping it with plt.gca().invert_yaxis()
gives:
What we would ideally want is a barh function that preserves the X-Y-Z ordering from bottom to top while ordering the bars as C-B-A from bottom to top.
I am working on implementing this.
from pandas.
Thanks for the report. Can you provide a full reproducible example.
from pandas.
I was able to reproduce it with the following simple bar plot:
data = pd.DataFrame({
'A': [3, 4, 2],
'B': [1, 2, 3],
'C': [4, 1, 2]
}, index=['X', 'Y', 'Z'])
data.plot.barh()
plt.show()
As reported, the legend follows the reverse order of the bars.
If this should be fixed I can begin working on a solution.
from pandas.
Thanks, the solution would just be plt.gca().invert_yaxis()
I think.
from pandas.
I agree - this is a bit odd. I'm +1 on a fixing.
from pandas.
I did some further looking and this is expected behavior of matplotlib. The only fix then is to hardcode a y_axis flip. This would cause a lot of issues with backward compatibility and is generally bad practice. I think it should be left as is.
from pandas.
Thanks for reporting back.
I did some further looking and this is expected behavior of matplotlib.
Are there any links you can share in this regard?
from pandas.
Related Issues (20)
- BUILD: HOT 1
- BUG: AttributeError: 'Engine' object has no attribute 'cursor' HOT 5
- BUG: FutureWarning when following documentation HOT 1
- BUG: Column of dtype Categorical in DataFrame encounters error when taking a row that includes nan in the column HOT 3
- DOC: Searching DataFrame.eval( blocks me from the documentation HOT 3
- PERF: groupby is significantly slower for `DatetimeIndex` with timezone HOT 2
- Potential performance regression with "CLN: enforce deprecation of frequencies deprecated for offsets"
- PERF: 100% CPU utilization with matplotlib (macosx)
- BUG: `interval_range` ignores type of `start` (regression from pandas 2.2.2)
- Inconsistent "index"/"name" property referring to both rows and columns based on iloc selection HOT 2
- BUG: Invalid Stata file is generated if byteorder='big' is specified and strings are saved as strL type
- BUG: `Index.difference` is returning too many values HOT 1
- BUG: index `to_period` - `to_timestamp` round trip with `freq` argument fails specifically with `period-start` frequencies HOT 2
- BUG: `Series.combine_first` replaces `None` with `NaN` at index not provided by `other` HOT 4
- BUG: in agg function HOT 1
- BUG: Rounding timedelta to 3 decimal places does not work correctly and is unstable. HOT 2
- BUG: pd.read_sql() converts string "NA" to None HOT 1
- API: timestamp resolution inference - default to one unit (if possible) instead of being data-dependent? HOT 4
- DOC: punctuation of titles in Titanic data HOT 1
- BUG: `unstack` with `sort=False` scrambles data HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pandas.