кодесурса
«Python

Гистограмма Matplotlib: создайте горизонтальную гистограмму с разными цветами

script1adsense2code
script1adsense3code

Гистограмма Matplotlib: упражнение 15 с решением

Напишите программу на Python для создания горизонтальной гистограммы с разными цветами.

Примечание. Используйте нижнюю часть для укладки женских баров поверх мужских баров.
Примерный набор данных:
languages = [['Language', 'Science', 'Math'],
[ 'Наука', 'Математика', 'язык'],
[ 'Математика', 'язык', 'Наука']]
числа = [{'Язык': 75, 'Наука': 88, 'Математика': 96},
{'Язык': 71, 'Наука': 95, 'Математика': 92},
{'Язык': 75, 'Наука': 90, 'Математика': 89}]

Пример решения :

Код Python:

import numpy as np
from matplotlib import pyplot as plt
num_set = [{'Language':75, 'Science':88, 'Math':96},
           {'Language':71, 'Science':95, 'Math':92},
           {'Language':75, 'Science':90, 'Math':89}]
lan_guage    = [['Language','Science','Math'], 
               ['Science','Math','Language'], 
               ['Math','Language','Science']] 
colors = ["r","g","b"]
names = sorted(num_set[0].keys())
values = np.array([[data[name] for name in order] for data,order in zip(num_set, lan_guage)])
lefts = np.insert(np.cumsum(values, axis=1),0,0, axis=1)[:, :-1]
orders = np.array(lan_guage)
bottoms = np.arange(len(lan_guage))
for name, color in zip(names, colors):
	idx = np.where(orders == name)
	value = values[idx]
	left = lefts[idx]
	plt.bar(left=left, height=0.8, width=value, bottom=bottoms, 
	color=color, orientation="horizontal", label=name)
plt.yticks(bottoms+0.4, ["Student-%d" % (t+1) for t in bottoms])
plt.legend(loc="best", bbox_to_anchor=(1.0, 1.00))
plt.subplots_adjust(right=0.75)
# Turn on the grid
plt.minorticks_on()
plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')
plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')
plt.show()

Пример вывода:

«Matplotlib

Редактор кода Python:

Внесите свой код и комментарии через Disqus.

Предыдущий: Напишите программу на Python для создания линейчатой диаграммы с ошибками.
Далее: Напишите программу на Python для создания линейчатой диаграммы стека и добавьте метку к каждому разделу.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code