Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python openpyxl趋势线和R平方值_Python_Excel_Openpyxl - Fatal编程技术网

Python openpyxl趋势线和R平方值

Python openpyxl趋势线和R平方值,python,excel,openpyxl,Python,Excel,Openpyxl,我试图将“线性”趋势线添加到我的excel图表中,并使用openpyxl显示R平方值,但我找不到任何示例 下面是python代码,它生成了图中显示的图表,没有趋势线和R平方公式 谢谢 from openpyxl import Workbook, load_workbook from openpyxl.chart import ( ScatterChart, Reference, Series, ) from openpyxl.chart.trendline import

我试图将“线性”趋势线添加到我的excel图表中,并使用openpyxl显示R平方值,但我找不到任何示例

下面是python代码,它生成了图中显示的图表,没有趋势线和R平方公式

谢谢

from openpyxl import Workbook, load_workbook
from openpyxl.chart import (
    ScatterChart,
    Reference,
    Series,
)
from openpyxl.chart.trendline import Trendline


wb = load_workbook(r"path to load blank workbook\data.xlsx")
ws = wb.active

rows = [
    ['Size', 'Batch 1'],
    [3, 40],
    [4, 50],
    [2, 40],
    [5, 30],
    [6, 25],
    [7, 20],
]

for row in rows:
    ws.append(row)

chart = ScatterChart()
chart.title = "Scatter Chart"
#chart.style = 13
chart.x_axis.title = 'Size'
chart.y_axis.title = 'Percentage'



xvalues = Reference(ws, min_col=1, min_row=2, max_row=8)
for i in range(2, 4):
    values = Reference(ws, min_col=i, min_row=2, max_row=8)
    series = Series(values, xvalues, title_from_data=True)
    chart.series.append(series)



line = chart.series[0]
line.graphicalProperties.line.noFill = True
line.marker.symbol = "circle"


ws.add_chart(chart, "A10")

wb.save("path to save workbook\scatter.xlsx")

基本上不可能记录图表的所有可能性,因此您偶尔需要深入研究相关图表的XML以了解它是如何完成的。也就是说,趋势线很容易做到

from openpyxl.chart.trendline import Trendline
line.trendline = Trendline()

谢谢你,查理!这正是我需要的。我添加了line.trendline=trendline(dispRSqr=True)来显示R平方值。