使用python绘制常用的图表_python

本文介绍如果使用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()

自定义字体及配色

图表中所使用的字体,可以使用下面的字体名称替换family=后面的内容以改变图表中所显示的字体。

图表中的颜色,可以直接使用颜色名称,也可以使用简称来设置图表中使用的颜色,本文中没有使用默认的颜色,而是使用了自定义颜色。

自定义颜色的色号,本文中使用的是Hex色号,下面给出了Hex和RGB的对应关系,以及相应的颜色。可以使用下面的Hex色号替换本文中图表的颜色。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索图表绘制
python图表绘制
python图表绘制、品管圈常用图表绘制、如何使用word绘制图表、excel绘制图表、图表绘制,以便于您获取更多的相关知识。

时间: 2024-09-17 04:38:12

使用python绘制常用的图表_python的相关文章

如何运用Python绘制NBA投篮图表

我在本文中将介绍如何获取一个选手的投篮数据并通过matplotlib 和 seaborn制成图表. In [1]: %matplotlib inline import requests importmatplotlib.pyplot as plt import pandas aspd import seabornas sns 获取数据 从stats.nba.com获取的数据是非常简单的.虽然NBA没有提供公共的API ,我们实际上可以通过requests 库来访问NBA给stats.nba.co

利用Python绘制数据的瀑布图的教程_python

介绍 对于绘制某些类型的数据来说,瀑布图是一种十分有用的工具.不足为奇的是,我们可以使用Pandas和matplotlib创建一个可重复的瀑布图. 在往下进行之前,我想先告诉大家我指代的是哪种类型的图表.我将建立一个维基百科文章中描述的2D瀑布图. 这种图表的一个典型的用处是显示开始值和结束值之间起"桥梁"作用的+和-的值.因为这个原因,财务人员有时会将其称为一个桥梁.跟我之前所采用的其他例子相似,这种类型的绘图在Excel中不容易生成,当然肯定有生成它的方法,但是不容易记住. 关于瀑

Veusz 1.12发布 绘制各种科学图表的Python程序库

Veusz 是一个用来绘制各种科学图表的Python程序库,可导出为 Postscript 和 PDF 文档.包含一个易用的图形化界面,同时也有一些命令行接口以便直接在 Python 程序中调用. Veusz 1.12更新日志: * Multiple widgets can now be selected for editing properties * Add Edit->Select menu and context menu for above * Added context menu o

python实现绘制树枝简单示例_python

python是解释型语言,本文介绍了Python下利用turtle实现绘图功能的示例,本例所示为Python绘制一个树枝,具体实现代码如下:      python是解释型语言,本文介绍了Python下利用turtle实现绘图功能的示例,本例所示为Python绘制一个树枝,具体实现代码如下: import turtle def branch(length,level): if level<=0: return turtle.forward(length) turtle.left(45) bran

python中常用的九种预处理方法分享_python

本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(Standardization or Mean Removal and Variance Scaling) 变换后各维特征有0均值,单位方差.也叫z-score规范化(零均值规范化).计算方式是将特征值减去均值,除以标准差. sklearn.preprocessing.scale(X) 一般会把train和test集放在一起做标准化,或者在train集上做标准化

Python字符串和文件操作常用函数分析_python

本文实例分析了Python字符串和文件操作常用函数.分享给大家供大家参考.具体如下: # -*- coding: UTF-8 -*- ''' Created on 2010-12-27 @author: sumory ''' import itertools def a_containsAnyOf_b(seq,aset): '''判断seq中是否含有aset里的一个或者多个项 seq可以是字符串或者列表 aset应该是字符串或者列表''' for item in itertools.ifilte

ios-小女子求高手帮忙绘制一个自定义图表

问题描述 小女子求高手帮忙绘制一个自定义图表 小女子刚开始ios编程不久,如今有个画图表的需求,不知道该怎么实现,求高手帮帮忙,下面是需求图C804A51F-3878-4D66-9C49-EF996F790E23.png 解决方案 图都看不见. 刚开始,谁都一样,多练习多查资料,慢慢就会了,一步步来. 先自己想,先把思路列出来,不会的再查,主要是要想弄明白需求是什么,弄不明白,其他的就是会了,在遇到问题,你也想不明白. 这是我的观点,我也是刚学习IOS编程不久,经常蒙圈.多练多敲多想多查就好了.

Excel中四种常用类型图表的创建方法

Excel中四种常用类型图表的创建方法   上图中的四种不同类型的图表都是根据同一个表格创建的,也就是说,这四种常用的图表是没有特定的数据限制的. 一.创建柱形图 1.将光标定位到要创建图表的数据区域内,然后切换到"插入"选项卡,在"图表"组的"柱形图"下选择一种需要的柱形图类型进行创建. 2.现在工作表中已经插入了一个选择的柱形图. 二.创建条形图 1.将光标定位到表格区域内,然后选择一个合适的条形图类型进行创建. 2.现在工作表中已经插入了一

常用Excel图表类型详解

在上两节课程中,我们主要使用的Excel图表类型是柱形图,我们也初步了解,对于相同的数据,如果选择不同的图表类型,那么得到的图表外观是有很大差别的,为了用图表准确的表达我们的观点,完成数据表的创建之后,最重要的事情就是选择恰当的图表类型.文章末尾提供原文件供大家下载参考. 本课目标:通过实际例子熟悉常用的图表类型,包括柱形图.饼图.折线图和面积图等. 一. 熟悉柱形图的子类型 柱形图的主要用途为显示或比较多个数据组.子类型中包括簇状柱形图和堆积柱形图,前面的例子中默认使用的是簇状柱形图,下面来熟