Маркировка одного столбца в ReportLab VerticalBarChart - PullRequest
3 голосов
/ 21 декабря 2011

Я создаю гистограмму, используя ReportLab VerticalBarChart. Мне нужно, чтобы один из столбцов (каждый раз другой) был другого цвета, чем остальные, чтобы указать, что это «выбранное» значение.

Или же мне нужно как-то пометить его, как на других барах.

Есть идеи, как это сделать?

Ответы [ 3 ]

5 голосов
/ 06 декабря 2012

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

chart.bars[(0,0)].fillColor = colors.red

Примечание: просто пройдя через значение индекса, например chart.bars[0], вы получите доступ ко всему первому ряду данных

2 голосов
/ 22 декабря 2011

Вы бы хотели сделать

chart.bars.fillColor = some_colour

и для конкретного столбца, где х - целое число, представляющее число

chart.bars.fillColor[x] = special_colour
1 голос
/ 26 декабря 2011

Ответ Мейтэма у меня не сработал - похоже, что chart.bars.fillColor [0] окрашивает все бары в серии.Когда у вас есть более одной серии на одном графике, вы можете определить цвет для каждой серии по методу Мейтэма.

В итоге я сделал акцент на метке (ix - это индекс для параметра, который мне нужен для выделенияout):

...
bc = VerticalBarChart()
...
bc.categoryAxis.labels[ix].fontName = 'Times-Bold'
bc.categoryAxis.labels[ix].fontSize = 15
bc.categoryAxis.labels[ix].angle = 30
bc.categoryAxis.labels[ix].dy = -15
drawing.add(bc)

Вы можете найти это в руководстве пользователя reportlab.

...