Графики Python Bar

Ниже приведен код, который я использую для создания гистограмм, и я хочу отобразить соответствующие значения над графиком:

import numpy as np
import folium
import pandas as pd
import matplotlib.pyplot as plt
from numpy.ma.bench import xl
from wordcloud import WordCloud,STOPWORDS
import matplotlib as mp
import seaborn as sns

df=pd.read_csv("Topic_Survey_Assignment.csv",index_col=0) # reading csv file
df.sort_values("Very interested", ascending = False)
df_p=(df/2233)*100
df_p=round(df_p,2)
xlist=[]
ylist=[]
c=["#5cb85c","#5bc0de","#d9534f"]
a=df_p.plot(kind='bar',figsize=(20,8),color=c)     # plotting bar plot
plt.xlabel('Subjects',fontsize=14)
plt.ylabel('Percentage of People',fontsize=14)
plt.title('Data Science Statistics',fontsize=20)
plt.legend(fontsize=14)

plt.show(a)
print(xlist)

Изображение графика

Графики Python Bar

пожалуйста, предоставьте образцы данных

Nihal 20.03.2019 09:10
cocl.us/datascience_survey_data — Пример данных
Aadesh Shukla 20.03.2019 10:57
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
787
1

Ответы 1

Вы можете добавить аннотации к гистограмме следующим образом:

for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() + 0.08, p.get_height()), va='bottom', ha='center')

Вот пример со случайно сгенерированными данными:

# Generate sample data
c=["#5cb85c","#5bc0de","#d9534f"]
fig, ax = plt.subplots()
df_p.plot(ax = plt.gca(), kind='bar',figsize=(12,8),color=c)     # plotting bar plot
plt.xlabel('Subjects',fontsize=14)
plt.ylabel('Percentage of People',fontsize=14)
plt.title('Data Science Statistics',fontsize=20)
plt.legend(fontsize=14)
plt.tight_layout()

for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x()+0.08, p.get_height()),
                va='bottom', ha='center', weight='bold')

Bar plot with annotations

На самом деле, это решение не будет иметь этой проблемы. Я отредактирую образец текста, чтобы он соответствовал тому, который используется в сюжете.

Nathaniel 20.03.2019 09:31

Спасибо, Натаниэль, но отображаемые данные присутствуют в фрейме данных «df_p».

Aadesh Shukla 20.03.2019 10:21

Есть ли способ добавить значения, которым соответствует полоса над полосой

Aadesh Shukla 20.03.2019 10:22

Также вы можете объяснить работу этой части кода: fig, ax = plt.subplots() df_p.plot(ax = plt.gca()

Aadesh Shukla 20.03.2019 10:51

Другие вопросы по теме