溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Python的第三方庫openpyxl畫真散點(diǎn)圖

發(fā)布時(shí)間:2021-04-23 10:10:06 來源:億速云 閱讀:427 作者:小新 欄目:編程語言

這篇文章主要介紹如何使用Python的第三方庫openpyxl畫真散點(diǎn)圖,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

Python主要用來做什么

Python主要應(yīng)用于:1、Web開發(fā);2、數(shù)據(jù)科學(xué)研究;3、網(wǎng)絡(luò)爬蟲;4、嵌入式應(yīng)用開發(fā);5、游戲開發(fā);6、桌面應(yīng)用開發(fā)。

之前在博客上看見不少類似的問題,點(diǎn)進(jìn)去一看,發(fā)現(xiàn)都是完全照抄的官方文檔。然而官方文檔的demo,畫出來并不是我們想要的效果:

如何使用Python的第三方庫openpyxl畫真散點(diǎn)圖
說好的散點(diǎn)圖,出來卻是我們一般定義上的折線圖。

直接上代碼:

先安裝openpyxl第三方庫,以Windows為例,在cmd指令窗下發(fā)如下命令:

pip install openpyxl

Python代碼如下:

"""
__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)
# 第一條散點(diǎn)
s1 = chart.series[0]
# 散點(diǎn)標(biāo)記類型  'auto', 'dash', 'triangle', 'square', 'picture', 'circle', 'dot', 'plus', 'star', 'diamond', 'x'
s1.marker.symbol = "circle"
s1.marker.graphicalProperties.solidFill = "0000FF"  # Marker filling 設(shè)定標(biāo)記填充的顏色
s1.marker.graphicalProperties.line.solidFill = "0000FF"  # Marker outline 標(biāo)記輪廓的顏色
s1.graphicalProperties.line.noFill = True  # 關(guān)閉連線填充

# 第二條帶連線的散點(diǎn)
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畫真散點(diǎn)圖

大家可以根據(jù)自己的需要做相應(yīng)的擴(kuò)展:

1.讀取自己的Excel表格數(shù)據(jù),替換上面代碼中手動(dòng)生成的數(shù)據(jù):

        wb = openpyxl.load_workbook('D:\\data.xlsx')  # 填寫你的Excel文件路徑
        ws = workbook['sheet1']  # 填寫你的sheet標(biāo)題

再參考上述代碼,指定你的xvalues和values(即x軸,y軸)對(duì)應(yīng)的行、列位就OK了。

2.最后修改畫圖元素的屬性值,畫出你自己定制化的散點(diǎn)圖!

以上是“如何使用Python的第三方庫openpyxl畫真散點(diǎn)圖”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI