import
numpy as np
import
matplotlib.pyplot as plt
data
=
[[
322862
,
876296
,
45261
,
782372
,
32451
],
[
58230
,
113139
,
78045
,
99308
,
516044
],
[
89135
,
8552
,
15258
,
497981
,
603535
],
[
24415
,
73858
,
150656
,
19323
,
69638
],
[
139361
,
831509
,
43164
,
7380
,
52269
]]
columns
=
(
'Gokul'
,
'Kwality'
,
'Bakhri'
,
'Arun'
,
'Amul'
)
rows
=
[
'%d months'
%
x
for
x
in
(
50
,
35
,
20
,
10
,
5
)]
values
=
np.arange(
0
,
2500
,
500
)
value_increment
=
1000
colors
=
plt.cm.Oranges(np.linspace(
22
,
3
,
12
))
n_rows
=
len
(data)
index
=
np.arange(
len
(columns))
+
0.3
bar_width
=
0.4
y_offset
=
np.zeros(
len
(columns))
cell_text
=
[]
for
row
in
range
(n_rows):
plt.bar(index, data[row], bar_width, bottom
=
y_offset, color
=
colors[row])
y_offset
=
y_offset
+
data[row]
cell_text.append([
'%1.1f'
%
(x
/
1000.0
)
for
x
in
y_offset])
colors
=
colors[::
-
1
]
cell_text.reverse()
the_table
=
plt.table(cellText
=
cell_text,
rowLabels
=
rows,
rowColours
=
colors,
colLabels
=
columns,
loc
=
'bottom'
)
plt.subplots_adjust(left
=
0.2
, bottom
=
0.2
)
plt.ylabel(
"Rise in Rs's"
.
format
(value_increment))
plt.yticks(values
*
value_increment, [
'%d'
%
val
for
val
in
values])
plt.xticks([])
plt.title(
'Cost of Milk of diff. brands'
)
fig
=
plt.gcf()
plt.savefig(
'pyplot-table-original.png'
,
bbox_inches
=
'tight'
,
dpi
=
150
)