02Python讀取excel文件中的數據,繪制折線圖、散點圖


目的:讀取excel文件中的數據,繪制折線圖、散點圖

安裝環境

由於我使用的是 Anaconda 集成的環境 所以不用安裝模塊,直接導入就行

import pandas as pd
import matplotlib.pyplot as plt
所用數據

繪制簡單折線圖

# -*- coding: utf-8 -*-
"""
Created on Tue Sep 29 18:24:14 2020

@author: chenj
"""
# 導入 pandas 和 matplotlib
import pandas as pd
import matplotlib.pyplot as plt

# 讀取文件
# 可能遇到的問題 路徑分隔符 建議用“/”或“\\”  讀取桌面文件時 用“\”可能會失敗 
data_source = pd.read_excel('F:/南師2020作業/人工智能/datas.xlsx')
# 函數plot()嘗試根據數字繪制出有意義的圖形
print(data_source['datas'])
plt.plot(data_source['datas'])

繪制簡單散點圖

import pandas as pd
import matplotlib.pyplot as plt
# 導入中文顯示庫函數
from matplotlib.font_manager import FontProperties
font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=15)
 
# 讀取文件
df = pd.read_excel("F:/南師2020作業/人工智能/datas.xlsx")
# 輸出數據行數
print("數據行數:" , len(df))
'''
由於只有一列數據我們使用 excel 行號作為 x 值的列表
用range()函數來創建一個列表 [1,24)
range()函數 遍歷數字序列
'''
x = list(range(1,len(df)+1)) #[1,24)
# 讀取指定的單列也就是 datas列,數據會存在列表里面
y = df['datas']
# for 循環輸出數據行數
for a in (list(range(1,len(df)+1))):
    print('行號:'+str(a)) #將int類型的a 轉換為字符串

#設置 x值 和y值的列表
plt.scatter(x,y)
# 圖表名稱
plt.title('散點圖',fontproperties=font_set)
# 設置x軸名稱
plt.xlabel("X")
# 設置y軸名稱
plt.ylabel("Y")
plt.show()

scatter繪制散點圖的方法

1)繪制單個點,使用函數scatter,並向它傳遞x,y坐標,並可使用參數s指定點的大小

plt.scatter(2,4,s=20)
2)繪制一系列點,向scatter傳遞兩個分別包含x值和y值的列表

x_values=[1,2,3,4,5]
y_values=[1,4,9,16,25]
plt.scatter(x_values,y_values,s=20)

3)設置坐標軸的取值范圍:函數axis()要求提供四個值,x,y坐標軸的最大值和最小值

plt.axis([0,1100,0,1100000])

4)使用參數edgecolor在函數scatter中設置數據點的輪廓

plt.scatter(x_values,y_values,edgecolor='black',s=20)

當參數值為'none'時不使用輪廓

5)向scatter傳遞參數c,指定要使用的顏色

可使用顏色名稱,或者使用RGB顏色模式自定義顏色,元組中包含三個0~1之間的小數值,分別表示紅綠藍顏色分量。

plt.scatter(x_values,y_values,c=(0,0,0.8),edgecolor='none',s=20)為由淺藍色組成的散點圖
6)使用顏色映射
顏色映射是一系列顏色,它們從起始顏色漸變到結束顏色,在可視化中顏色映射用於突出數據的規律。
例如,可用較淺的顏色表示較小的數值,較深的顏色表示較大的數值。
模塊pyplot內置了一組顏色映射,要使用顏色映射,需要告訴pyplot如何設置數據集中每個點的顏色。

plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,s=40)
plt.title("Square numbers",fontsize=24)

我們將參數c設置成了一個y值列表,並使用參數cmap告訴pyplot使用哪個顏色映射。這些代 
碼將y值較小的點顯示為淺藍色,並將y值較大的點顯示為深藍色。
7)自動保存圖表:使用函數plt.savefig()

plt.savefig('D:/www/figure.png',bbox_inches='tight')

第一個參數是文件名,第二個參數指定將圖表多余的空白區域減掉,如果要保留圖表周圍多余的空白區域,可省略這個實參。


8)設置繪圖窗口尺寸
函數figure用於指定圖表的寬度、高度、分辨率和背景色。

形參figsize指定一個元組,向matplotlib指出繪圖窗口的尺寸,單位為英寸。
形參dpi向figure傳遞分辨率,默認為80

plt.figure(dpi=128,figsize=(10,6))

9)實例程序

#a.py
import matplotlib.pyplot as plt
x_values=list(range(1,1001))
y_values=[x**2 for x in x_values]
plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,s=40)
plt.title("Square numbers",fontsize=24)
plt.xlabel("value",fontsize=24)
plt.ylabel("Square of Value",fontsize=24)
plt.tick_params(axis='both',labelsize=14)
plt.axis([0,1100,0,1100000])
plt.savefig('D:/www/figure.png',bbox_inches='tight')
plt.show()




免責聲明!

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



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