How to add horizontal line to a pandas df plot? [duplicate] - pandas

This question already has answers here:
Plot a horizontal line on a given plot
(7 answers)
Closed 1 year ago.
I want to draw a line on y=0. However, I am not sure how to do that using pandas built-in charting.
df.mean(axis=1).plot() I am running this and that is the result.

Catch the ax instance returned by plot, and you can use axhline:
ax = df.mean(axis=1).plot()
ax.axhline(0, c='r')
Output:

Related

How to save charts without cutting off x-axis labels? [duplicate]

This question already has answers here:
matplotlib savefig - text chopped off
(3 answers)
X and Y label being cut in matplotlib plots
(2 answers)
Closed yesterday.
Could you please help me correctly save chart images?
The saved files has axes x-titles that are cut off? See below:
Current Chart Image
I'm currently using:
ax.figure.set_size_inches(16, 9)
#adjusting the tick marks
plt.xticks(rotation=75)
#saving plot
plt.show()
fig.savefig('figure6.png')
plt.clf()

Adjusting histogram in matplotlib [duplicate]

This question already has answers here:
How to create a bar chart/histogram with bar per discrete value?
(1 answer)
Matplotlib xticks not lining up with histogram
(5 answers)
Matplotlib: incorrect histograms
(1 answer)
Python Matplotlib pyplot histogram
(3 answers)
Closed 4 months ago.
I am making a histogram using matplotlib. I am using integer data and I want them to represent 1 bin. The following is the sample code which I made.
import matplotlib.pyplot as plt
a=[1,2,2,3,3,3,4,4,4,4]
plt.figure()
plt.hist(a,bins=4)
plt.show()
The histogram which I got is above. This have left end 1 ad rightend 4. I want the width of the histogram to be 1, however, this will just show 0.75 size. Moreover, I want the x value to locate at the center of the bar of histogram. Is there any way I can adjust?

Matplotlib - Adding value labels to bar graph [duplicate]

This question already has answers here:
How to add value labels on a bar chart
(7 answers)
Annotating Pandas Barplot with an Additional Value Unrelated to the Plot's x and y Axis
(1 answer)
Annotate bars with values on Pandas bar plots
(4 answers)
Python pandas / matplotlib annotating labels above bar chart columns [duplicate]
(2 answers)
Stacked Bar Chart with Centered Labels
(2 answers)
Closed 1 year ago.
I have been trying to get a bar plot with value labels on each bar. I have searched all over but can't get this done. My df is the one below.
Pillar %
Exercise 19.4
Meaningful Activity 19.4
Sleep 7.7
Nutrition 22.9
Community 16.2
Stress Management 23.9
My code so far is
df_plot.plot(x ='Pillar', y='%', kind = 'bar')
plt.show()
Use ax.bar_label:
ax = df.plot(x='Pillar', y='%', kind='bar', legend=False, rot=0)
ax.bar_label(ax.containers[0], label_type='edge')
plt.tight_layout()

Legends for hue in seaborn count plot | Change position [duplicate]

This question already has answers here:
Move seaborn plot legend to a different position
(8 answers)
Closed 3 months ago.
In countplot legend for hue are placed at improper positition:
sns.countplot(x='cat114', hue='loss', data=data_tr)
How do I change legend position?
I tried plt.legend(loc='upper right') but it is not helping me.
g=sns.countplot(x=feature, hue='loss', data=data_tr)
g.figure.get_axes()[0].legend(title='loss',loc='upper right')

How to generate color legend for bivariate plots in Seaborn? [duplicate]

This question already has answers here:
Getting legend in seaborn jointplot
(2 answers)
Closed 3 years ago.
When generating bivariate plots like hexbin, pandas generates a legend explaining frequency value for each color shade:
pokemon.plot.hexbin(x='HP', y='Attack', gridsize=30)
I cannot find a similar way to generate such a legend for jointplot and kdeplot in seaborn:
sns.jointplot(data=pokemon, x='HP', y='Attack', kind='hex')
sns.kdeplot(pokemon['HP'], pokemon['Attack'], shade=True)
How can I do it?
for a kdeplot, simply pass cbar=True
cbar : bool, optional
If True and drawing a bivariate KDE plot, add a colorbar.