Bitte beziehen Sie sich auf die Diagrammerstellung mit xlwings. Ich würde mich freuen, wenn Sie darauf hinweisen würden, dass es besser ist, dies zu tun. Wenn Sie API verwenden, können Sie VBA-Code verwenden → Wenn Sie nicht verstehen, können Sie dies mit "Makro aufzeichnen" in Excel überprüfen. test.xlsx ist eine leere Arbeitsmappe.
python 3.7 xlwings 0.18.0
import xlwings as xw
from xlwings.constants import AxisType
DATA_NUM = 10
#Laden der Excel-Arbeitsmappe
wb = xw.Book('test.xlsx')
#Daten einfügen
data_x = list(x for x in range(DATA_NUM))
data_y1 = list(x*2 for x in range(DATA_NUM))
data_y2 = list(x*10-50 for x in range(DATA_NUM))
xw.Range('A1').value = 'x'
xw.Range('B1').value = 'y1'
xw.Range('C1').value = 'y2'
cell_x = xw.Range('A2')
cell_y1 = xw.Range('B2')
cell_y2 = xw.Range('C2')
for cnt in range(DATA_NUM):
cell_x.value = data_x[cnt]
cell_y1.value = data_y1[cnt]
cell_y2.value = data_y2[cnt]
cell_x = cell_x.offset(1, 0)
cell_y1 = cell_y1.offset(1, 0)
cell_y2 = cell_y2.offset(1, 0)
#Grafik einfügen
chart = xw.Chart()
#Anpassung der Position und Größe des Diagramms
chart.left = 200
chart.top = 10
chart.width = 300
chart.height = 200
#Grafiktypeinstellung
chart.chart_type = 'xy_scatter_lines_no_markers'
#Datenbereichseinstellung
chart.set_source_data(xw.Range('A1:C11'))
#Ändern Sie die Position der x-Achse nach unten(xlminimum=4 ← Bitte sagen Sie mir, wer VBA-Konstanten lesen kann)
# api[1]Bitte sagen Sie mir, wer die Bedeutung von 1 versteht. Wenn Sie es vorerst auf 1 setzen, wird es funktionieren ...
chart.api[1].Axes(AxisType.xlValue).Crosses = 4
#Die Achsenskala wurde nach innen geändert(xlInside=2)
chart.api[1].Axes(AxisType.xlCategory).MajorTickMark = 2
chart.api[1].Axes(AxisType.xlValue).MajorTickMark = 2
Recommended Posts