Рубрики
Без рубрики

ReportLab – Как добавить графики / графики

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

ReportLab действительно хороший инструмент для создания PDF в Python. Немного известным фактом состоит в том, что они теперь поддерживают добавление диаграмм или графиков к вашему PDF. Раньше, если вы хотите, чтобы эта функциональность вам придется сделать весь код рисования самостоятельно. К сожалению, руководство ReportLab не объясняет, как использовать свои диаграммы, какие виды графиков поддерживаются или какие их параметры/атрибуты/и т. Д. У них есть пример фрагментов кода на их Сайт хоть. В этой статье мы пойдем через пару простых примеров, чтобы показать вам, как использовать возможности Charting ReportLab.

Создание гистограммы

Обычная потребность – это возможность создавать гистограмму. Примеры, которые ReportLab предоставляют, довольно крутые, но чрезвычайно многолетние. Давайте посмотрим на простой пример вместо этого:

Здесь мы импортируем несколько предметов, которые нам нужны из пакета ReportLab. Те, о которых мы заботимся о большинстве, являются Рисование и VerticalBarchart Отказ Класс рисования позволяет нам в основном создать холст, чтобы нарисовать. Когда мы его создаем, мы должны указать, насколько большой так называемый холст. Затем мы создаем экземпляр VerticalBarchart и расскажу о том, какую позицию быть в соответствии с координатами X/Y. Далее мы добавляем некоторые данные на график и некоторые имена категорий, которые являются именами, которые идут на оси X. Наконец, мы устанавливаем несколько цветов для различных баров в нашем гистограмме, используя класс PCMykColor ReportLab и добавить диаграмму на чертеж.

В самом конце мы сохраняем гистограмма на диск. Формат немного странный, но в соответствии с исходным кодом вы можете сказать ему, чтобы сохранить диаграмму в нескольких форматах (PDF, EPS, SVG, PS и различные форматы изображения). Вам также необходимо сказать, в каком каталоге сохранения файлов (ы) и необязательно, что имя должно быть через fnroot Отказ Есть много, многие другие свойства, которые вы можете установить и настроить при создании гистограммы, но мы не будем прикрывать их здесь. Проверьте некоторые из ранее упомянутых образцов ReportLab для примеров.

Если вы запускаете код выше, вы должны увидеть PDF, который имеет содержимое, аналогичное скриншоту в начале этого раздела. Теперь давайте перейдем и узнаем, как создать круговую диаграмму!

Создание круговой диаграммы

Создание круговой диаграммы с ReportLab немного проще. Давайте взглянем!

Здесь мы импортируем только два предмета от ReportLab, а именно вышеупомянутые Рисование класс и Пирог Класс диаграммы. Как и прежде, мы создаем экземпляр класса чертежа и на этот раз, класс Pie. Еще раз, мы также разместите круговую диаграмму, установив его координаты X/Y. Данные немного интереснее, чтобы он должен добавить до 100, так как круговые диаграммы представляют проценты, поэтому убедитесь, что ваши значения добавляются соответствующим образом. Далее мы добавляем несколько ярлыков и расскажу о том, что должна быть ширина строк. Для развлечения мы говорим это, чтобы выскочить 4-й элемент (Примечание: это нулевой) с пирога. Наконец мы добавляем диаграмму на рисунок и сохраните ее.

Добавление легенды

Легенды довольно распространены в графиках. К счастью, ReportLab предоставил довольно простой способ добавить легенду. Давайте модифицируем наш код круговой диаграммы и добавьте легенду к ней!

На этот раз мы импортируем Легенда класс и Авто класс. Мы также создаем add_legend Функция, чтобы сделать добавление легенды немного проще и инкапсулировать этот код, чтобы облегчить обновление. В этой функции мы устанавливаем выравнивание и положение легенды. Затем мы используем магию ReportLab с его AUTO Validator, чтобы сопоставить правильные цвета в легенде к барам панели диаграммы. Наконец мы добавляем легенду на рисунок и сохраните PDF на диск.

Упаковка

В ReportLab есть много других типов диаграмм и суб-графиков. Эта статья едва почесала поверхность, когда речь идет о том, что ReportLab может сделать с графиками. Например, вы можете указать промежуточное расстояние и ширину, шрифты, всевозможные настройки оси для k, так и Y, метки для X и Y и намного больше. Вы обязательно должны проверить официальные образцы ReportLab, чтобы получить представление о том, что вы можете сделать с их пакетом. Вам вероятность, вероятно, придется взять погружение в исходный код, чтобы выяснить, как некоторые из кусков подходят вместе, и что означают различные аргументы. Это очень мощный пакет, но документация довольно грубая.

Связанное чтение

  • Простой пошаговый ReportLab Учебное пособие
  • ReportLab – все о шрифтах
  • Столы ReportLab – создание таблиц в PDFS с Python