Closed jalinegm closed 1 day ago
import pandas as pd import matplotlib.pyplot as plt
data = { "Estado": ["Alagoas", "Bahia", "Ceará", "Maranhão", "Paraíba", "Pernambuco", "Piauí", "Rio Grande do Norte", "Sergipe"], "Nº de Regiões Intermediárias": [2, 10, 6, 5, 4, 4, 6, 3, 2], "Nome das Regiões Intermediárias": [ "Maceió, Arapiraca", "Salvador, Santo Antônio de Jesus, Ilhéus-Itabuna, Vitória da Conquista, Guanambi, Barreiras, Irecê, Juazeiro, Paulo Afonso, Feira de Santana", "Fortaleza, Quixadá, Iguatu, Juazeiro do Norte, Crateús, Sobral", "São Luís, Santa Inês-Bacabal, Caxias, Presidente Dutra, Imperatriz", "João Pessoa, Campina Grande, Patos, Sousa-Cajazeiras", "Recife, Caruaru, Serra Talhada, Petrolina", "Teresina, Parnaíba, Picos, São Raimundo Nonato, Corrente-Bom Jesus, Floriano", "Natal, Caicó, Mossoró", "Aracaju, Itabaiana" ] }
df = pd.DataFrame(data)
header_colors = ['#ffd700', '#1e90ff', '#32cd32'] row_colors = ['#f3f3f3', '#FFFFFF'] text_color = '#000000'
fig, ax = plt.subplots(figsize=(30, 36)) # Increased height to accommodate tripled row height ax.axis('off')
tbl = ax.table(cellText=df.values, colLabels=df.columns, cellLoc='center', loc='center', colColours=header_colors)
tbl.auto_set_font_size(False) tbl.set_fontsize(12) tbl.scale(1.5, 3.0) # Adjusting scale for better fit
for key, cell in tbl.get_celld().items(): if key[0] == 0: cell.set_fontsize(14) cell.set_text_props(weight='bold', color=text_color) cell.set_edgecolor(text_color)
for i in range(1, len(df) + 1): color = row_colors[i % 2] for j in range(len(df.columns)): tbl[(i, j)].set_facecolor(color)
output_image_path_layout_triple_height = "/mnt/data/high_quality_table_layout_triple_height_final.png" plt.savefig(output_image_path_layout_triple_height, format='png', dpi=300)
output_image_path_layout_triple_height
Script atualizado
import pandas as pd
import matplotlib.pyplot as plt
data = {
"Estado": ["Alagoas", "Bahia", "Ceará", "Maranhão", "Paraíba", "Pernambuco", "Piauí", "Rio Grande do Norte", "Sergipe"],
"Nº de Regiões \nIntermediárias": [2, 10, 6, 5, 4, 4, 6, 3, 2],
"Nome das Regiões Intermediárias": [
"Arapiraca, Maceió",
"Barreiras, Feira de Santana, Guanambi, \nIlhéus-Itabuna, Irecê, Juazeiro, Paulo Afonso, \nSalvador, Santo Antônio de Jesus, Vitória da Conquista",
"Crateús, Fortaleza, Iguatu, \nJuazeiro do Norte, Quixadá, Sobral",
"Caxias, Imperatriz, Presidente Dutra, \nSanta Inês-Bacabal, São Luís",
"Campina Grande, João Pessoa, \nPatos, Sousa-Cajazeiras",
"Caruaru, Petrolina, Recife, Serra Talhada",
"Corrente-Bom Jesus, Floriano, Parnaíba, \nPicos, São Raimundo Nonato, Teresina",
"Caicó, Mossoró, Natal",
"Aracaju, Itabaiana"
]
}
# Convert to DataFrame
df = pd.DataFrame(data)
# Define colors
header_colors = ['#ffd700', '#38b6ff', '#32cd32']
row_colors = ['#f3f3f3', '#FFFFFF']
text_color = '#000000'
border_color = '#d9d9d9'#byJaline
# Plotting the table
fig, ax = plt.subplots(figsize=(12,8))
ax.axis('off')
# Create table with specified header colors
tbl = ax.table(cellText=df.values, colLabels=df.columns, cellLoc='center', loc='center',
colColours=header_colors)
# Styling
tbl.auto_set_font_size(False)
tbl.set_fontsize(12)
tbl.scale(1, 3.8)
# Adjust column widths
tbl.auto_set_column_width([0, 1, 2])
'''
# Manually adjust column widths
#col_widths = [0.2, 0.2, 0.6] # Defining manual column widths as a fraction of the figure width
for i, width in enumerate(col_widths):
for j in range(len(df) + 1): # +1 to include the header row
tbl[(j, i)].set_width(width)
'''
# Header style
for key, cell in tbl.get_celld().items():
cell.set_edgecolor(border_color)
if key[1]==2:
cell.PAD = 0.015
if key[0] == 0:
cell.set_fontsize(14)
cell.set_text_props(weight='bold', color=text_color)
for i in range(1, len(df) + 1):
tbl[(i, 2)].set_text_props(ha='left', va='center')
# Alternate row colors for better readability
for i in range(1, len(df) + 1):
color = row_colors[i % 2]
for j in range(len(df.columns)):
tbl[(i, j)].set_facecolor(color)
import os
my_path = os.path.dirname(os.path.abspath(__file__))
print(my_path)
# Save the table as a high-quality PNG image with the specified layout
output_image_path_layout_triple_height = "high_quality_table_layout_triple_height_final.png"
plt.savefig(os.path.join(my_path, output_image_path_layout_triple_height), format='png', dpi=300, bbox_inches='tight')
#print("Imagem salva como", output_image_path_layout_triple_height)
Imagem gerada
Material diagramado por @dudabastos1973 https://www.canva.com/design/DAGFO9EVveo/_awY9v6hzJMKc7jp2qY4tQ/
Podemos fechar a issue, Profa. @Kelliconsuelo e Profa. @Catia1409 ?
📝🖼️ Diagramação do Projeto de Formação do Cecate Nordeste
📖 Descrição
O projeto de formação é um documento que precisa ser compartilhado com a equipe do FNDE. Por isso, é importante que esteja diagramado conforme os demais materiais adotados no Cecate Nordeste.
📌 Tipo de Conteúdo
Documento editável para garantir futuras adaptações ou correções.
🖼️ Mídia
Documento na pasta do projeto: https://drive.google.com/open?id=1lrqe6WBC8r4jMM6wbS6CtvSy9-jfaliG&usp=drive_fs (arquivo versão Maio - ignorar destaques em amarelo).
✅ Revisores
🙋 Pessoa Responsável
@dudabastos1973
🚀 Data de Início
16.05.2024