python學習筆記-繪制散點圖


1.需求

讀取excel的數據,繪制散點圖,並保存圖片。

2.所需要的包/模塊

  • excel:xlrw
  • 可視化:matplotlib

3.具體代碼實現

#-*- coding:utf-8 -*-
import matplotlib.pyplot as plt
import xlrd

rbook = xlrd.open_workbook('testData.xlsx')
table = rbook.sheet_by_index(0)

nrows = table.nrows
ncols = table.ncols
a1_values = table.col_values(1)
a2_values = table.col_values(2)
a3_values = table.col_values(3)
a4_values = table.col_values(4)

#圖1 
plt.figure(1,figsize=(16, 12))
plt.subplot(121)
plt.title("圖a")
plt.xlabel("x")
plt.ylabel("y")
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.scatter(a1_values,a2_values,s=30)

#圖2 
plt.figure(1,figsize=(16, 12))
plt.subplot(122)
plt.title("圖2")
plt.xlabel("x")
plt.ylabel("y")
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.scatter(a3_values,a4_values,s=30)


plt.subplots_adjust(left=None, bottom=None, right=None, top=None,wspace=0.3, hspace=0.3)
plt.savefig('test.png')
plt.show()
View Code

4.遇到的問題及解決辦法

1)標題無法顯示中文:

加以下兩句可解決:

plt.rcParams[‘font.sans-serif’]=[‘SimHei’] #用來正常顯示中文標簽
plt.rcParams[‘axes.unicode_minus’]=False #用來正常顯示負號

 

2)多圖重疊:

調整子圖之間的間距,通過設置圖片之間的參數

plt.subplots_adjust(left=None, bottom=None, right=None, top=None,wspace=0.3, hspace=0.3)

  • top、bottom、left、right:整個圖距離上下左右邊框的距離
  • wspace、hspace:調整各個子圖之間的間距
    • wspace:調整子圖之間的橫向間距
    • hspace:調整子圖之間縱向間距

3)savefig出現空白圖片

plt.savefig()要在plt.show()之前

5.結果

6.可優化部分/后續進程

1)標注每個點所對應的文本標簽;

2)將離群點用別的顏色顯示出來;

3)統一所有圖的坐標系;

......


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM