I have a pandas dataframe of the following form
df= pd.DataFrame([[1,100],[-1,50],[1,140],[1,300],[-1,400]],columns=['key','size'])
I would like to plot an histogram of the column size
where in the x-axis the value of each bin is the index of each row, and the height of the histogram for a given bin is the value of df['size']
. Also, I would like the bar in a given bin to be colored in red if key==-1
or green if key==1
.
I know how to make plots with vertical bars - I just call df['size'].plot(kind='bar')
. How can I color each bar accordingly to the value of key
?
I couldn't find a way to do so.
Can anyone help me?
Thanks
CodePudding user response:
You can use the following:
df['size'].plot(
kind='bar',
color=df['key'].replace({1:'green', -1:'red'}),
)
Output:
CodePudding user response:
You can easily achieve a bar plot with the
CodePudding user response:
If you are trying to make custom plots with categorical variables, I recommend you to look the seaborn
library.
Seaborn is a Python data visualization library based on matplotlib. It provides a high-level interface for drawing attractive and informative statistical graphics.