Я хотел бы знать, как можно назначить имя только серии данных (используя диаграмму рассеяния), не получая того же имени серии, что и заголовок диаграммы. Я хотел бы получить только название серии в качестве легенды, а НЕ название диаграммы вообще.
Я понял, что autoTitleDeleted
должно иметь значение 1.
Итак, в консультационной документации я обнаружил, что «chartContainer» - это класс для реализации вышеупомянутой опции. Поэтому я импортирую класс и применяю его следующим образом:
from openpyxl import Workbook
from openpyxl.chart import (
ScatterChart,
Reference,
Series,
)
from openpyxl.chart.chartspace import ChartContainer
wb = Workbook()
ws = wb.active
rows = [
["Size", "Batch 1", "Batch 2"],
[2, 40, 30],
[3, 40, 25],
[4, 50, 30],
[5, 30, 25],
[6, 25, 35],
[7, 20, 40],
]
for row in rows:
ws.append(row)
chart2 = ScatterChart()
chart2.x_axis.title = "Size"
chart2.y_axis.title = "Percentage"
xvalues = Reference(ws, min_col = 1, min_row = 2, max_row = 7)
values = Reference(ws, min_col = 3, min_row = 1, max_row = 7)
series1 = Series(values, xvalues)
chart2.series.append(series1)
chart2 = ChartContainer(autoTitleDeleted = 1)
ws.add_chart(chart2, "J10")
wb.save("Ex1.xlsx")
Однако появляется следующая ошибка:
`runfile ('C: /Users/Administrador/Desktop/Pre-Try/Ex1/Ex1.py', wdir = 'C: / Users / Administrador / Desktop / Pre-Try / Ex1')
Traceback (последний вызов был последним):
Файл "", строка 1, в
runfile ('C: /Users/Administrador/Desktop/Pre-Try/Ex1/Ex1.py', wdir = 'C: / Users / Administrador / Desktop / Pre-Try / Ex1')
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py", строка 827, в runfile
execfile (имя файла, пространство имен)
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py", строка 110, в execfile
exec (compile (f.read (), filename, 'exec'), пространство имен)
Файл "C: /Users/Administrador/Desktop/Pre-Try/Ex1/Ex1.py", строка 46, в
wb.save ( "Ex1.xlsx")
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ openpyxl \ workbook \ workbook.py", строка 397, в сохранении
save_workbook (self, filename)
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ openpyxl \ writer \ excel.py", строка 294, в save_workbook
writer.save ()
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ openpyxl \ writer \ excel.py", строка 276, в сохранении
self.write_data ()
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ openpyxl \ writer \ excel.py", строка 76, в write_data
self._write_worksheets ()
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ openpyxl \ writer \ excel.py", строка 219, в _write_worksheets
self._write_drawing (ws._drawing)
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ openpyxl \ writer \ excel.py", строка 142, в _write_drawing
self._archive.writestr (drawing.path [1:], tostring (drawing._write ()))
Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ openpyxl \ drawing \ spreadsheet_drawing.py", строка 296, в _write
self._rels.append (отн)
UnboundLocalError: локальная переменная 'rel', на которую ссылается перед присваиванием`
Я не очень понимаю эту ошибку. Если бы вы могли помочь, был бы благодарен!