Pré-requisito: Criar e escrever em um arquivo Excel .

XlsxWriter é uma biblioteca Python com a qual se pode realizar várias operações em arquivos do Excel, como criação, escrita, operações aritmáticas e plotagem de gráficos. Vamos ver como traçar diferentes tipos de gráficos de barras usando dados em tempo real.
Os gráficos são compostos de pelo menos uma série de um ou mais pontos de dados. As próprias séries são compostas por referências a intervalos de células.
Para plotar os gráficos em uma planilha do Excel, em primeiro lugar, crie um objeto de gráfico de um tipo de gráfico específico (ou seja, Barra, Barra Empilhada, Gráfico de Porcentagem de Barras Empilhadas, etc.). Depois de criar objetos de gráfico, insira os dados nele e, por último, adicione esse objeto de gráfico ao objeto de pasta.

Código # 1: Plote o gráfico de barras simples.

Para plotar o gráfico de barras simples em uma planilha do Excel, use o método add_chart() com o argumento de palavra-chave tipo 'bar' de um objeto de pasta de trabalho.

import xlsxwriter 
workbook = xlsxwriter.Workbook('chart_bar.xlsx') 
worksheet = workbook.add_worksheet() 
  
  
bold = workbook.add_format({'bold': 1}) 
headings = ['Number', 'Batch 1', 'Batch 2'] 
  
data = [ 
    [2, 3, 4, 5, 6, 7], 
    [80, 80, 100, 60, 50, 100], 
    [60, 50, 60, 20, 10, 20], 
] 
worksheet.write_row('A1', headings, bold) 
worksheet.write_column('A2', data[0]) 
worksheet.write_column('B2', data[1]) 
worksheet.write_column('C2', data[2]) 
  
  
chart1 = workbook.add_chart({'type': 'bar'}) 
  
chart1.add_series({ 
    'name':       '= Sheet1 !$B$1', 
    'categories': '= Sheet1 !$A$2:$A$7', 
    'values':     '= Sheet1 !$B$2:$B$7', 
}) 
  
chart1.add_series({ 
    'name':       ['Sheet1', 0, 2], 
    'categories': ['Sheet1', 1, 0, 6, 0], 
    'values':     ['Sheet1', 1, 2, 6, 2], 
}) 
chart1.set_title ({'name': 'Results of data analysis'}) 
chart1.set_x_axis({'name': 'Test number'}) 
chart1.set_y_axis({'name': 'Data length (mm)'}) 
chart1.set_style(11) 
  
worksheet.insert_chart('E2', chart1) 
workbook.close() 

Saída:
Output1
 
Código # 2: Plote o gráfico de barras empilhadas.



Para plotar o gráfico de barras empilhadas em uma planilha do Excel, use o método add_chart() com o tipo 'bar' e argumento de palavra-chave subtipo 'empilhado' de um objeto de pasta de trabalho.

import xlsxwriter 
workbook = xlsxwriter.Workbook('chart_bar2.xlsx') 
worksheet = workbook.add_worksheet() 
  
  
bold = workbook.add_format({'bold': 1}) 
headings = ['Number', 'Batch 1', 'Batch 2'] 
  
data = [ 
    [2, 3, 4, 5, 6, 7], 
    [80, 80, 100, 60, 50, 100], 
    [60, 50, 60, 20, 10, 20], 
] 
worksheet.write_row('A1', headings, bold) 
worksheet.write_column('A2', data[0]) 
worksheet.write_column('B2', data[1]) 
worksheet.write_column('C2', data[2]) 
  
  
chart1 = workbook.add_chart({'type': 'bar', 'subtype': 'stacked'}) 
  
chart1.add_series({ 
    'name':       '= Sheet1 !$B$1', 
    'categories': '= Sheet1 !$A$2:$A$7', 
    'values':     '= Sheet1 !$B$2:$B$7', 
}) 
  
chart1.add_series({ 
    'name':       ['Sheet1', 0, 2], 
    'categories': ['Sheet1', 1, 0, 6, 0], 
    'values':     ['Sheet1', 1, 2, 6, 2], 
}) 
chart1.set_title ({'name': 'Results of data analysis'}) 
chart1.set_x_axis({'name': 'Test number'}) 
chart1.set_y_axis({'name': 'Data length (mm)'}) 
chart1.set_style(11) 
  
worksheet.insert_chart('E2', chart1) 
workbook.close() 

Saída:
Output1
 
Código # 3: Plote o gráfico de barras de porcentagem empilhada.

Para plotar o gráfico de barras de porcentagem empilhada em uma planilha do Excel, use o método add_chart() com o argumento de palavra-chave do tipo 'bar' e subtipo 'percent_stacked' de um objeto de pasta de trabalho.

import xlsxwriter 
workbook = xlsxwriter.Workbook('chart_bar3.xlsx') 
worksheet = workbook.add_worksheet() 
  
  
bold = workbook.add_format({'bold': 1}) 
headings = ['Number', 'Batch 1', 'Batch 2'] 
  
data = [ 
    [2, 3, 4, 5, 6, 7], 
    [80, 80, 100, 60, 50, 100], 
    [60, 50, 60, 20, 10, 20], 
] 
worksheet.write_row('A1', headings, bold) 
worksheet.write_column('A2', data[0]) 
worksheet.write_column('B2', data[1]) 
worksheet.write_column('C2', data[2]) 
  
  
chart1 = workbook.add_chart({'type': 'bar', 'subtype': 'percent_stacked'}) 
  
chart1.add_series({ 
    'name':       '= Sheet1 !$B$1', 
    'categories': '= Sheet1 !$A$2:$A$7', 
    'values':     '= Sheet1 !$B$2:$B$7', 
}) 
  
chart1.add_series({ 
    'name':       ['Sheet1', 0, 2], 
    'categories': ['Sheet1', 1, 0, 6, 0], 
    'values':     ['Sheet1', 1, 2, 6, 2], 
}) 
chart1.set_title ({'name': 'Results of data analysis'}) 
chart1.set_x_axis({'name': 'Test number'}) 
chart1.set_y_axis({'name': 'Data length (mm)'}) 
chart1.set_style(11) 
  
worksheet.insert_chart('E2', chart1) 
workbook.close() 

Resultado:Output1