2013-12-12 2 views
1

Я нахожусь this link, чтобы нарисовать круговую диаграмму и гистограмму ниже каждой круговой диаграммы.Рассчитать относительные позиции, используя xlsxwriter

У меня есть данные, которые являются динамическими, означает, что у меня может быть даже 1 столбец + гистограмма или несколько, в зависимости от данных, которые я получаю.

В приведенной ссылке расположение местоположения жестко запрограммировано, то есть одна круговая диаграмма на C2, а другая на C18. Я не хочу жестко кодировать его, а предоставлять динамическое значение, которое должно разместить следующую круговую диаграмму после выхода из 2-3 строк.

При использовании отчетов для создания PDF я использовал showPage() для начала со следующей страницы. Есть ли что-нибудь подобное в xlsxwriter?

ответ

1

В приведенной ссылке расположение места жестко закодировано, то есть одна круговая диаграмма в C2 , а другая на C18. Я не хочу жестко кодировать его, а предоставлять динамическое значение, которое должно разместить следующую круговую диаграмму, оставив 2-3 строки.

Как и большинство других методов XlsxWriter insert_chart() принимает (row, column) notation as wll as "A1" notation. Таким образом, вы можете расположить acharts следующим образом:

worksheet.insert_chart(3, 4, chart) 

Если у вас есть несколько графиков, которые вы хотите расположить близко друг к другу, то вы можете сделать что-то вроде этого:

chart_row = 1 
chart_col = 3 
chart_offset = 0; 

worksheet.insert_chart(chart_row + chart_offset, chart_col, chart1) 

# Later... 

chart_offset += 15 
worksheet.insert_chart(chart_row + chart_offset, chart_col, chart2) 

Вы можете также положение диаграммы в ячейках, используя параметры offset, показанные в примере, к которому вы привязались.

Дополнительную информацию см. В документации Chart API и Working with Charts.

При использовании отчетов для генерации PDF я использовал showPage() для начала со следующей страницы. Есть ли что-нибудь подобное в xlsxwriter?

Вы можете установить разрывы страниц на листе, используя метод set_h_pagebreaks().

+0

Я понял, что прежде чем вы отправили сообщение. В любом случае спасибо. :) – PythonEnthusiast

 Смежные вопросы

  • Нет связанных вопросов^_^