Función Matplotlib.pyplot.table() en Python

Matplotlib.pyplot.table() es una subparte de la biblioteca matplotlib en la que se genera una tabla utilizando el gráfico trazado para el análisis. Este método hace que el análisis sea más fácil y eficiente, ya que las tablas brindan detalles más precisos que los gráficos. matplotlib.pyplot.table crea tablas que a menudo cuelgan debajo de los gráficos de barras apiladas para proporcionar a los lectores información sobre los datos generados por el gráfico anterior.

Sintaxis: matplotlib.pyplot.table(cellText=Ninguno, cellColours=Ninguno, cellLoc=’right’, colWidths=Ninguno,rowLabels=Ninguno, rowColours=Ninguno, rowLoc=’left’, colLabels=Ninguno, colColours=Ninguno, colLoc= ‘centro’, loc=’abajo’, bbox=Ninguno, bordes=’cerrado’, **kwargs) 
 

Ejemplo 1: Considere un gráfico que analiza el aumento en el precio de los cultivos en meses. El siguiente código es para un gráfico no lineal.

Python3

# importing necessary packagess
import numpy as np
import matplotlib.pyplot as plt
 
 
# input data values
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]]
 
# preparing values for graph
columns = ('Soya', 'Rice', 'Wheat', 'Bakri', 'Ragi')
rows = ['%d months' % x for x in (50, 35, 20, 10, 5)]
values = np.arange(0, 2500, 500)
value_increment = 1000
 
# Adding pastel shades to graph
colors = plt.cm.Oranges(np.linspace(22, 3, 12))
n_rows = len(data)
index = np.arange(len(columns)) + 0.3
bar_width = 0.4
 
# Initialing vertical-offset for the graph.
y_offset = np.zeros(len(columns))
 
# Plot bars and create text labels for the table
cell_text = []
 
for row in range(n_rows):
    plt.plot(index, data[row], bar_width, color=colors[row])
    y_offset = y_offset + data[row]
    cell_text.append(['%1.1f' % (x / 1000.0) for x in y_offset])
 
# Reverse colors and text labels to display table contents with
# color.
colors = colors[::-1]
cell_text.reverse()
 
# Add a table at the bottom
the_table = plt.table(cellText=cell_text,
                      rowLabels=rows,
                      rowColours=colors,
                      colLabels=columns,
                      loc='bottom')
 
# make space for the table:
plt.subplots_adjust(left=0.2, bottom=0.2)
plt.ylabel("Price in Rs.{0}'s".format(value_increment))
plt.yticks(values * value_increment, ['%d' % val for val in values])
plt.xticks([])
plt.title('Cost price increase')
 
# plt.show()-display graph
# Create image. plt.savefig ignores figure edge and face color.
fig = plt.gcf()
plt.savefig('pyplot-table-original.png',
            bbox_inches='tight',
            dpi=150)

Producción:

Ejemplo 2: Consideremos el aumento en el precio de la leche de diferentes marcas en los últimos años

Python3

# importing necessary packagess
import numpy as np
import matplotlib.pyplot as plt
 
 
# input data values
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]]
 
# preparing values for graph
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
 
# Adding pastel shades to graph
colors = plt.cm.Oranges(np.linspace(22, 3, 12))
n_rows = len(data)
index = np.arange(len(columns)) + 0.3
bar_width = 0.4
 
# Initialing vertical-offset for the graph.
y_offset = np.zeros(len(columns))
 
# Plot bars and create text labels for the table
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])
 
# Reverse colors and text labels to display table contents with
# color.
colors = colors[::-1]
cell_text.reverse()
 
# Add a table at the bottom
the_table = plt.table(cellText=cell_text,
                      rowLabels=rows,
                      rowColours=colors,
                      colLabels=columns,
                      loc='bottom')
 
# make space for the table:
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 od diff. brands')
 
# plt.show()-display graph
# Create image. plt.savefig ignores figure edge and face color.
fig = plt.gcf()
plt.savefig('pyplot-table-original.png',
            bbox_inches='tight',
            dpi=150)

Producción:

Publicación traducida automáticamente

Artículo escrito por tedious_wings y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *