2015-11-12 4 views
2

У меня возникли проблемы с пониманием системы координат для ReportLab стилей таблиц.Понимание системы координат таблицы в Python ReportLab

В соответствии с их документацией:

Первый элементом каждой команды является ее идентификатором, вторые и третьи аргументы определяют ячейку координаты коробки клеток, которые страдают от отрицательных координат подсчета в обратном направлении от предельные значения, как при индексировании Python.

Координаты заданы как (колонка, строка), который следует модель в таблицы «A1», но не более естественным (для математиков) упорядочения «Rc». Верхняя левая ячейка равна (0, 0) нижний правый (-1, -1)

Если нижний правый всегда (-1, -1), означает ли это, что средние строки и столбцы являются дробное? Это не имеет смысла. Учитывая приведенный ниже пример, как зеленый запуск в позиции (1,1) является системой координат от 0 до -1 и как вторая система координат (-2, -2) смещена от исходной позиции?

from reportlab.lib import colors 
from reportlab.lib.pagesizes import letter 
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle 

doc = SimpleDocTemplate("simple_table.pdf", pagesize=letter) 
# container for the 'Flowable' objects 
elements = [] 

data= [['00', '01', '02', '03', '04'], 
     ['10', '11', '12', '13', '14'], 
     ['20', '21', '22', '23', '24'], 
     ['30', '31', '32', '33', '34']] 
t=Table(data) 
t.setStyle(TableStyle([('BACKGROUND',(1,1),(-2,-2),colors.green), 
         ('TEXTCOLOR',(0,0),(1,-1),colors.red)])) 
elements.append(t) 
# write the document to disk 
doc.build(elements) 

enter image description here

+0

эти стили таблиц применяются к ячейкам, а не к пиксельным координатам. –

+0

@ JoranBeasley, я знаю, но мой вопрос по-прежнему относится к ним как к координатам таблицы. Не могли бы вы рассказать? – user2242044

+1

Я думаю, что я не понимаю ваш вопрос ... вы не используете отрицательный порядок ... 'TABLE [-1, -1]' в этом случае точно так же, как 'TABLE [3,4]' в python you может получить доступ к концу списка с -1, поэтому TABLE [-1] - это последняя строка TABLE [-1] [- 1] - это просто последний столбец последней строки (возможно, я получил мой порядок строк/столбцов) –

ответ

3

я, наконец, понял это так разместить свой ответ. Вы должны думать, что отрицательные и положительные системы координат полностью независимы друг от друга. Положительная система начинается с [1] [1] в верхнем левом углу и увеличивает числа при движении вниз и вправо. Отрицательная система начинается с [-1] [- 1], когда уменьшается (больше негативов) по мере продвижения вверх и влево.

В этом примере ('BACKGROUND',(1,1),(-2,-2),colors.green) Две координаты, используя другую относительную начальную позицию, определяют верхний левый и правый нижние углы коробки.

0

Я нашел, что легче рассматривать ячейки как списки, а не координаты для этой проблемы. Верхняя левая ячейка равна (0,0), а последний столбец в этом примере - 4, который также может быть представлен как -1, как и список. Вторая в последней колонке в этом примере - 3, которая также может быть -2 и т. Д.

Мне было сложно оспорить тот факт, что ссылки на ячейки являются (col, row), а не (row, col).

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