python matplotlib 可視化處理CSV文件


import pandas as pd
from matplotlib import pyplot as plt
csv_file_name = "C:\\Users\\dgd71\\Desktop\\datas.csv"
def you_want_matrix(start,end,begin,stop): #自定義一個獲取CSV矩陣的函數
matrix = df_my_data.iloc[start:end,begin:stop]
print(matrix)
def scatter_diagram(line,row,color,marker): #自定義一個畫散點圖的函數
x = df_my_data[line] # pandas DataFrame 中的取列的方法
y = df_my_data[row] # pandas DataFrame 中的取列的方法
plt.xlabel("Name") #給x軸命名
plt.ylabel("StudyGarde") #y軸命名
plt.title("StudyTestPicture") #給散點圖命名
plt.xlim([0, 100]) #x軸長度
plt.ylim([0, 100])
plt.xticks(range(0, 101, 5)) #x軸划分刻度
plt.scatter(x, y, c=color, marker=marker, linewidths=1) #散點圖函數的運用
plt.show()
def cake_picture (row): #自定義一個畫餅圖的函數
a = []
b = []
c = []
d = []
test_data = df_my_data[row]
datas = list(test_data)
for i in range(len(datas)):
if datas[i] >= 90:
a.append(datas[i])
elif datas[i] >= 85:
b.append(datas[i])
elif datas[i] >= 80:
c.append(datas[i])
else:
d.append(datas[i])
my_datas = [len(a) / len(datas), len(b) / len(datas), len(c) / len(datas), len(d) / len(datas)]
#通過列表長度來計算百分比
labels = ["A", "B", "C", "D"] #標簽
colors = ['yellowgreen','gold','lightskyblue','lightcoral'] #每個標簽所對應的顏色
plt.axes(aspect='equal') #將橫、縱坐標軸標准化處理,保證餅圖是一個正圓,否則為橢圓
plt.xlim(0, 8)
plt.ylim(0, 8)
plt.pie(x=my_datas, labels=labels, colors=colors, autopct='%.3f%%', center=(4, 4), radius=1)
plt.xticks(()) #不顯示X軸、Y軸的刻度值
plt.yticks(())
plt.title('cake')
plt.show()
def hist(line): #自定義直方圖函數
x_data = df_my_data[line]
plt.hist(x=x_data,bins=10)
plt.show()
if __name__== "__main__": #代碼更高效的運轉
try:
my_data = pd.read_csv(csv_file_name,encoding="gbk") #read csv data
df_my_data = pd.DataFrame(data=my_data) # 把data裝入DataFrame數據框架中操作
scatter_diagram("姓名","智育成績","blue",".")
scatter_diagram("姓名","基礎素質","red","*")
cake_picture("智育成績")
hist("智育成績")
except FileNotFoundError:
print("文件打開錯誤!")

 

 

 

 

 

 


免責聲明!

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



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