2013-12-10 5 views
1

Я работаю с xlswriter для генерации файлов Excel в python. Я имею в виду [эту ссылку] для учебника.xlswriter - модуль Python для создания файлов excel

В соответствии с разделом Вариант серии диаграмм: Точки, я скопировал код и запустил его. он работает, но мне нужно удалить следующие строки, поскольку они не требуются.

worksheet.write_column('A1', data[0]) 
worksheet.write_column('B1', data[1]) 

Эти линии дают мне значения данных круговых диаграмм в формате textua в ячейках A1 и B1, которые я не хочу.

Но когда я удаляю их, круговая диаграмма также удаляется. Я не знаю, почему. Где я буду ошибся

Вот код.

import xlsxwriter 

workbook = xlsxwriter.Workbook('chart_pie.xlsx') 

worksheet = workbook.add_worksheet() 
chart = workbook.add_chart({'type': 'pie'}) 

data = [ 
    ['Pass', 'Fail'], 
    [90, 10], 
] 

worksheet.write_column('A1', data[0])# these lines gets printed on top left corner, which I dont want. 
worksheet.write_column('B1', data[1]) 

chart.add_series({ 
    'categories': '=Sheet1!$A$1:$A$2', 
    'values':  '=Sheet1!$B$1:$B$2', 
    'points': [ 
     {'fill': {'color': 'green'}}, 
     {'fill': {'color': 'red'}}, 
    ], 
}) 

worksheet.insert_chart('C3', chart) 

workbook.close() 
+1

Я думаю, вы не можете иметь диаграмму без исходных данных. Как бы вы себя чувствовали? – alko

+0

Причина, по которой диаграмма удаляется, заключается в том, что диаграмма отображает значения из этих ячеек. Это '= Sheet1! $ A1: $ A $ 2' и' = Sheet1! $ B1: $ B $ 2' относятся к значениям из этих ячеек. –

+0

Я понял, что не могу получить диаграмму, не имея данных для этого, но я не хочу, чтобы эти данные печатались в ячейках A1 и B1. Любые предложения, как я удаляю это из ячеек A1 и B1. Спасибо – PythonEnthusiast

ответ

1

Я могу добавить данные на другой рабочий лист. А затем отсылайте данные с этого листа.

Демо

import xlsxwriter 

workbook = xlsxwriter.Workbook('chart_line.xlsx') 
worksheet = workbook.add_worksheet() 
worksheet1 = workbook.add_worksheet() 
# Add the worksheet data to be plotted. 
data = [10, 40, 50, 20, 10, 50] 
worksheet1.write_column('A1', data) 

# Create a new chart object. 
chart = workbook.add_chart({'type': 'line'}) 

# Add a series to the chart. 
chart.add_series({'values': '=Sheet2!$A$1:$A$6'}) 

# Insert the chart into the worksheet. 
worksheet.insert_chart('C1', chart) 

workbook.close() 
Смежные вопросы