PHP前端开发

一分钟学会用Python的第三方库openpyxl画真散点图

百变鹏仔 1个月前 (01-22) #Python
文章标签 会用

本篇文章给大家详细介绍一下用python的第三方库openpyxl画真散点图的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

之前在博客上看见不少类似的问题,点进去一看,发现都是完全照抄的官方文档。然而官方文档的demo,画出来并不是我们想要的效果:


说好的散点图,出来却是我们一般定义上的折线图。

直接上代码:

立即学习“Python免费学习笔记(深入)”;

先安装openpyxl第三方库,以Windows为例,在cmd指令窗下发如下命令:

pip install openpyxl

Python代码如下:

"""__author__ = '伴月雎'__time__ = '2021/4/21 19:15'"""from openpyxl import Workbookfrom openpyxl.chart import (    ScatterChart,    Reference,    Series,)wb = Workbook()ws = wb.activerows = [    ['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)chart = ScatterChart()chart.title = "Scatter Chart"chart.style = 10chart.x_axis.title = 'Size'chart.y_axis.title = 'Percentage'xvalues = Reference(ws, min_col=1, min_row=2, max_row=7)for i in range(2, 4):    values = Reference(ws, min_col=i, min_row=1, max_row=7)    series = Series(values, xvalues, title_from_data=True)    chart.series.append(series)# 第一条散点s1 = chart.series[0]# 散点标记类型  'auto', 'dash', 'triangle', 'square', 'picture', 'circle', 'dot', 'plus', 'star', 'diamond', 'x's1.marker.symbol = "circle"s1.marker.graphicalProperties.solidFill = "0000FF"  # Marker filling 设定标记填充的颜色s1.marker.graphicalProperties.line.solidFill = "0000FF"  # Marker outline 标记轮廓的颜色s1.graphicalProperties.line.noFill = True  # 关闭连线填充# 第二条带连线的散点s2 = chart.series[1]s2.marker.symbol = "circle"s2.graphicalProperties.solidFill = "FF0000"s2.marker.graphicalProperties.line.solidFill = "FF0000"s2.graphicalProperties.dashStyle = "dash"s2.graphicalProperties.line.width = 1000  # width in EMUsws.add_chart(chart, "A10")wb.save("scatter.xlsx")

效果如下:

大家可以根据自己的需要做相应的扩展:

1.读取自己的Excel表格数据,替换上面代码中手动生成的数据:

        wb = openpyxl.load_workbook('D:\data.xlsx')  # 填写你的Excel文件路径        ws = workbook['sheet1']  # 填写你的sheet标题

再参考上述代码,指定你的xvalues和values(即x轴,y轴)对应的行、列位就OK了。

2.最后修改画图元素的属性值,画出你自己定制化的散点图!

相关免费学习推荐:python视频教程!