как читать текст метки данных в python -pptx - PullRequest
0 голосов
/ 02 августа 2020

Я хочу прочитать текст данной метки данных.

Что я пробовал:

print(plot.series[0].points[0].data_label.text_frame.text)

Фрагмент выше пытается напечатать первую точку 1-й серии, которая равна «16», но ничего не печатает.

введите описание изображения здесь

Как я могу получить то, что находится в метке данных?

Я хочу прочитать текст, связать что-то новое с ним и снова вставить его в метку данных. Примерно так

dltext = plot.series[0].points[0].data_label.text_frame.text
plot.series[0].points[0].data_label.text_frame.text = dltext + "Foo"

1 Ответ

1 голос
/ 02 августа 2020

data_label.text_frame содержит текст, только если вы явно поместили его туда. В противном случае визуализируется функция значения этой точки данных и настроек .show_value и show_percent, et c. задокументировано здесь: https://python-pptx.readthedocs.io/en/latest/api/chart.html#pptx .chart.datalabel.DataLabels

Если вы хотите сопоставить то, что отображается пользователю, вам необходимо продублировать этот журнал c.

Если вы хотите выполнить sh это для общего случая, это потребует некоторых усилий, потому что вам нужно будет вычислить эффективное значение таких свойств, как DataLabel.show_value, что потребует обратного проектирования. иерархия стилей для этого параметра.

Но 95% -ное решение было бы просто предположить, что отображается значение и go вместе с ним. Это метка данных по умолчанию, по крайней мере, для гистограмм (диаграммы p ie могут быть по умолчанию в процентах).

...