首頁 > 後端開發 > Python教學 > 一分鐘學會用Python的第三方函式庫openpyxl畫真散點圖

一分鐘學會用Python的第三方函式庫openpyxl畫真散點圖

醉折花枝作酒筹
發布: 2021-04-23 09:31:49
轉載
3910 人瀏覽過

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

一分鐘學會用Python的第三方函式庫openpyxl畫真散點圖

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

一分鐘學會用Python的第三方函式庫openpyxl畫真散點圖
说好的散点图,出来却是我们一般定义上的折线图。

直接上代码:

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

1

pip install openpyxl

登入後複製

Python代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

"""

__author__ = '伴月雎'

__time__ = '2021/4/21 19:15'

"""

from openpyxl import Workbook

from openpyxl.chart import (

    ScatterChart,

    Reference,

    Series,

)

 

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)

 

chart = ScatterChart()

chart.title = "Scatter Chart"

chart.style = 10

chart.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 EMUs

 

ws.add_chart(chart, "A10")

wb.save("scatter.xlsx")

登入後複製

效果如下:

一分鐘學會用Python的第三方函式庫openpyxl畫真散點圖

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

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

1

2

wb = openpyxl.load_workbook('D:\\data.xlsx')  # 填写你的Excel文件路径

ws = workbook['sheet1']  # 填写你的sheet标题

登入後複製

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

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

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

以上是一分鐘學會用Python的第三方函式庫openpyxl畫真散點圖的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
python - ubuntu16.04 lxml的報錯
來自於 1970-01-01 08:00:00
0
0
0
有辦法在PHP裡寫Python嗎?
來自於 1970-01-01 08:00:00
0
0
0
python scrapy爬蟲錯誤
來自於 1970-01-01 08:00:00
0
0
0
python相關問題求解決,有償
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板