本文要為大家介紹的是如何使用Python根據Excel表格資料繪製不同的圖表的方法,非常的詳細,有相同需求的小夥伴可以參考下
本文介紹如果使用python匯總常用的圖表,與Excel的點選操作相比,用python繪製圖表顯得比較比較繁瑣,尤其提現在對原始資料的處理上。但兩者在繪製圖表過程中的思路大致相同,Excel中能完成的工作python大多也能做到。為了更清晰的說明使用python繪製圖表的過程,我們在總結圖表的程式碼中進行註解,說明每一行程式碼的具體作用。並在文章的最後給出了自訂字體和圖表配色的對應表。
準備工作
#import numpy as np import pandas as pd #导入图表库以进行图表绘制 import matplotlib.pyplot as plt loandata=pd.DataFrame(pd.read_excel('loan_data.xlsx'))
#设置日期字段issue_d为loandata数据表索引字段 loandata = loandata.set_index('issue_d') #按月对贷款金额loan_amnt求均值,以0填充空值 loan_plot=loandata['loan_amnt'].resample('M').fillna(0) #图表字体为华文细黑,字号为15 plt.rc('font', family='STXihei', size=15) #创建一个一维数组赋值给a a=np.array([1,2,3,4,5,6,7,8,9,10,11,12]) #创建折线图,数据源为按月贷款均值,标记点,标记线样式,线条宽度,标记点颜色和透明度 plt.plot(loan_plot,'g^',loan_plot,'g-',color='#99CC01',linewidth=3,markeredgewidth=3,markeredgecolor='#99CC01',alpha=0.8) #添加x轴标签 plt.xlabel('月份') #添加y周标签 plt.ylabel('贷款金额') #添加图表标题 plt.title('分月贷款金额分布') #添加图表网格线,设置网格线颜色,线形,宽度和透明度 plt.grid( color='#95a5a6',linestyle='--', linewidth=1 ,axis='y',alpha=0.4) #设置数据分类名称 plt.xticks(a, ('1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月') ) #输出图表 plt.show()
折線圖
#按用户等级grade字段对贷款金额进行求和汇总 loan_grade=loandata.groupby('grade')['loan_amnt'].agg(sum) #图表字体为华文细黑,字号为15 plt.rc('font', family='STXihei', size=15) #创建一个一维数组赋值给a a=np.array([1,2,3,4,5,6]) #创建柱状图,数据源为按用户等级汇总的贷款金额,设置颜色,透明度和外边框颜色 plt.bar([1,2,3,4,5,6],loan_grade,color='#99CC01',alpha=0.8,align='center',edgecolor='white') #设置x轴标签 plt.xlabel('用户等级') #设置y周标签 plt.ylabel('贷款金额') #设置图表标题 plt.title('不同用户等级的贷款金额分布') #设置图例的文字和在图表中的位置 plt.legend(['贷款金额'], loc='upper right') #设置背景网格线的颜色,样式,尺寸和透明度 plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='y',alpha=0.4) #设置数据分类名称 plt.xticks(a,('A级','B级','C级','D级','E级','F级')) #显示图表 plt.show()
#長條圖
###图表字体为华文细黑,字号为15
plt.rc('font', family='STXihei', size=15)
#创建一个一维数组赋值给a
a=np.array([1,2,3,4,5,6])
#创建条形图,数据源为分等级贷款金额汇总,设置颜色,透明度和图表边框
plt.barh([1,2,3,4,5,6],loan_grade,color='#99CC01',alpha=0.8,align='center',edgecolor='white')
#添加x轴标题
plt.xlabel('贷款金额')
#添加y轴标题
plt.ylabel('用户等级')
#添加图表标题
plt.title('不同用户等级的贷款金额分布')
#添加图例,并设置在图表中的显示位置
plt.legend(['贷款金额'], loc='upper right')
#设置背景网格线的颜色,样式,尺寸和透明度
plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='y',alpha=0.4)
#设置数据分类名称
plt.yticks(a,('A级','B级','C级','D级','E级','F级'))
#显示图表
plt.show()
長條圖
#图表字体为华文细黑,字号为15
plt.rc('font', family='STXihei', size=15)
#设置饼图中每个数据分类的颜色
colors = ["#99CC01","#FFFF01","#0000FE","#FE0000","#A6A6A6","#D9E021"]
#设置饼图中每个数据分类的名称
name=['A级', 'B级', 'C级', 'D级', 'E级','F级']
#创建饼图,设置分类标签,颜色和图表起始位置等
plt.pie(loan_grade,labels=name,colors=colors,explode=(0, 0, 0.15, 0, 0, 0),startangle=60,autopct='%1.1f%%')
#添加图表标题
plt.title('不同用户等级的贷款金额占比')
#添加图例,并设置显示位置
plt.legend(['A级','B级','C级','D级','E级','F级'], loc='upper left')
#显示图表
plt.show()
餅圖
#按月汇总贷款金额,以0填充空值 loan_x=loandata['loan_amnt'].resample('M',how=sum).fillna(0) #按月汇总利息金额,以0填充空值 loan_y=loandata['total_rec_int'].resample('M',how=sum).fillna(0) #图表字体为华文细黑,字号为15 plt.rc('font', family='STXihei', size=15) #创建散点图,贷款金额为x,利息金额为y,设置颜色,标记点样式和透明度等 plt.scatter(loan_x,loan_y,60,color='white',marker='o',edgecolors='#0D8ECF',linewidth=3,alpha=0.8) #添加x轴标题 plt.xlabel('贷款金额') #添加y轴标题 plt.ylabel('利息收入') #添加图表标题 plt.title('贷款金额与利息收入') #设置背景网格线的颜色,样式,尺寸和透明度 plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='both',alpha=0.4) #显示图表 plt.show()
散點圖
#按月汇总贷款金额及利息 loan_x=loandata['loan_amnt'].resample('M',how=sum).fillna(0) loan_y=loandata['total_rec_int'].resample('M',how=sum).fillna(0) loan_z=loandata['total_rec_int'].resample('M',how=sum).fillna(0) #图表字体为华文细黑,字号为15 plt.rc('font', family='STXihei', size=15) #设置气泡图颜色 colors = ["#99CC01","#FFFF01","#0000FE","#FE0000","#A6A6A6","#D9E021",'#FFF16E','#0D8ECF','#FA4D3D','#D2D2D2','#FFDE45','#9b59b6'] #创建气泡图贷款金额为x,利息金额为y,同时设置利息金额为气泡大小,并设置颜色透明度等。 plt.scatter(loan_x,loan_y,s=loan_z,color=colors,alpha=0.6) #添加x轴标题 plt.xlabel('贷款金额') #添加y轴标题 plt.ylabel('利息收入') #添加图表标题 plt.title('贷款金额与利息收入') #设置背景网格线的颜色,样式,尺寸和透明度 plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='both',alpha=0.4) #显示图表 plt.show()
氣泡圖
#图表字体为华文细黑,字号为15 plt.rc('font', family='STXihei', size=15) #创建箱线图,数据源为贷款来源,设置横向显示 plt.boxplot(loandata['loan_amnt'],1,'rs',vert=False) #添加x轴标题 plt.xlabel('贷款金额') #添加图表标题 plt.title('贷款金额分布') #设置背景网格线的颜色,样式,尺寸和透明度 plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='both',alpha=0.4) #显示图表 plt.show()
箱線圖
#图表字体为华文细黑,字号为15
plt.rc('font', family='STXihei', size=15)
#创建直方图,数据源为贷款金额,将数据分为8等份显示,设置颜色和显示方式,透明度等
plt.hist(loandata['loan_amnt'],8,normed=1, histtype='stepfilled',facecolor='#99CC01', rwidth=0.9,alpha=0.6,edgecolor='white')
#添加x轴标题
plt.xlabel('贷款金额')
#添加y轴标题
plt.ylabel('概率')
#添加图表标题
plt.title('贷款金额概率密度')
#设置背景网格线的颜色,样式,尺寸和透明度
plt.grid(color='#95a5a6',linestyle='--', linewidth=1,axis='y',alpha=0.4)
#显示图表
plt.show()

Arraysinpython,尤其是Vianumpy,ArecrucialInsCientificComputingfortheireftheireffertheireffertheirefferthe.1)Heasuedfornumerericalicerationalation,dataAnalysis和Machinelearning.2)Numpy'Simpy'Simpy'simplementIncressionSressirestrionsfasteroperoperoperationspasterationspasterationspasterationspasterationspasterationsthanpythonlists.3)inthanypythonlists.3)andAreseNableAblequick

你可以通過使用pyenv、venv和Anaconda來管理不同的Python版本。 1)使用pyenv管理多個Python版本:安裝pyenv,設置全局和本地版本。 2)使用venv創建虛擬環境以隔離項目依賴。 3)使用Anaconda管理數據科學項目中的Python版本。 4)保留系統Python用於系統級任務。通過這些工具和策略,你可以有效地管理不同版本的Python,確保項目順利運行。

numpyarrayshaveseveraladagesoverandastardandpythonarrays:1)基於基於duetoc的iMplation,2)2)他們的aremoremoremorymorymoremorymoremorymoremorymoremoremory,尤其是WithlargedAtasets和3)效率化,效率化,矢量化函數函數函數函數構成和穩定性構成和穩定性的操作,製造

數組的同質性對性能的影響是雙重的:1)同質性允許編譯器優化內存訪問,提高性能;2)但限制了類型多樣性,可能導致效率低下。總之,選擇合適的數據結構至關重要。

到CraftCraftExecutablePythcripts,lollow TheSebestPractices:1)Addashebangline(#!/usr/usr/bin/envpython3)tomakethescriptexecutable.2)setpermissionswithchmodwithchmod xyour_script.3)

numpyArraysareAreBetterFornumericalialoperations andmulti-demensionaldata,而learthearrayModuleSutableforbasic,內存效率段

numpyArraySareAreBetterForHeAvyNumericalComputing,而lelethearRayModulesiutable-usemoblemory-connerage-inderabledsswithSimpleDatateTypes.1)NumpyArsofferVerverVerverVerverVersAtility andPerformanceForlargedForlargedAtatasetSetsAtsAndAtasEndCompleXoper.2)

ctypesallowscreatingingangandmanipulatingc-stylarraysinpython.1)usectypestoInterfacewithClibrariesForperfermance.2)createc-stylec-stylec-stylarraysfornumericalcomputations.3)passarraystocfunctions foreforfunctionsforeffortions.however.however,However,HoweverofiousofmemoryManageManiverage,Pressiveo,Pressivero


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具