python数据分析复盘——数据分析相关库之Matplotlib
来源:互联网 发布:新东方网络英语 编辑:程序博客网 时间:2024/06/07 04:52
1.Matplotlib简介
1.1 概念
- matplotlib是一个2D作图库,提供了方便的接口,使用户可以轻松的掌控图形的格式。
- Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发,matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式
1.2 基础用法
import matplotlib.pyplot as pltplt.plot([5,2,1,2,5])plt.ylabel("y label")plt.xlabel("x label")plt.title("Title")plt.show()
2.绘图区域
import matplotlib.pyplot as plt#plt.subplot(211)表示划分为2行1列的区域,当前为第一个区域。区域数从上到下从左到右递增。plt.subplot(211)plt.plot([5,2,1,2,5])plt.ylabel("y label")plt.xlabel("x label")plt.title("Title11")plt.subplot(212)plt.plot([9,6,2,6,9])plt.ylabel("y label")plt.xlabel("x label")plt.title("Title 12")plt.show()
3.pyplot的plot()函数
3.1 基础使用
import numpy as npa = np.arange(10)plt.plot(a,a*1.5,a,a*2.5,a,a*3.5,a,a*4.5)plt.title('more(x,y,format_string)')plt.show()
3.2 控制曲线的格式字符串(format_string)
由颜色字符、风格字符和标记字符组成:
#效果图如作右上import numpy as npa = np.arange(10)plt.plot(a,a*1.5,':',a,a*2.5,'-',a,a*3.5,'-.',a,a*4.5)plt.show()
#混合格式字符,不用考虑先后import numpy as npa = np.arange(10)plt.plot(a,a*1.5,':yo',a,a*2.5,'rv-',a,a*3.5,'cx-.',a,a*4.5,'md-')plt.title('mixing format_strings')plt.show()
4.pyplot中文显示
两种方式:
1.设置全局字体,应用在全部文字上
2.在设置标题等文字时修改foot相关属性,局部应用。
import numpy as npimport matplotliba = np.arange(10)#法1设置支持中文的字体(全局应用)# #rcparams属性 font.family font.style font.size matplotlib.rcParams['font.family']='SimHei'#polt必须在rcParams之后,否则字体设置无效plt.plot(a,a*1.5,':yo',a,a*2.5,'rv-',a,a*3.5,'cx-.',a,a*4.5,'md-')plt.title('通过rcParams设置字体后')plt.xlabel("全局字体")plt.ylabel("局部设置,局部应用",fontproperties='YouYuan',fontsize=20)plt.show()
5.专业显示(更多的说明)
#除了基础的,标题XY标签、字体和颜色#还增加了数学字符、注释a=np.arange(0.0,5.0,0.02)plt.plot(a,np.cos(2*np.pi*a),'r--')plt.xlabel('横轴:时间',fontproperties='SimHei',fontsize=15,color='green')plt.ylabel('纵轴:振幅',fontproperties='SimHei',fontsize=15,color='green') # ↓↓↓↓↓↓↓主要看下面↓↓↓↓↓↓↓#用$$把含有数学字符的公式包起来,就可以显示出对应的字符。 plt.title('正弦波实例 $y=cos(2\pi x)$',fontproperties='SimHei',fontsize=25)#在对应坐标显示文本plt.text(3,1,'$\mu=100$',fontsize=15)#显示文本指向对应坐标plt.annotate(r'$\mu=100$',xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor='black',shrink=0.1,width=2))plt.axis([-1,6,-2,2])plt.grid(True)plt.show()plt.textplt.annotate(s,xy=arrow_crd,xytext=text_crd,arrowprops=dict)
6.基础图表函数
import matplotlib.pyplot as pltimport numpy as np# 1.饼图sizes=[15,30,45,10]explode=(0,0.1,0,0)labels='Frogs','Hogs','Dogs','Logs'plt.pie(sizes,explode,labels,autopct='%1.1f%%',shadow=False,startangle=90) #autopct表示百分数方式percentageplt.axis('equal') #正面饼图plt.show()# 2.直方图np.random.seed(0)mu,sigma=100,20a=np.random.normal(mu,sigma,size=100)plt.hist(a,bins=50,normed=1,histtype='stepfilled',facecolor='c',alpha=0.75)#bins,数据等分的量,就是条形的数量#normed为真(1)显示的是频数#alpha 为灰度值plt.title('直方图',fontproperties='YouYuan',fontsize=20)plt.show()# 3.极坐标图N = 10 #数量theta = np.linspace(0.0, 2 * np.pi, N, endpoint=False)radii = 10 * np.random.rand(N)width = np.pi / 2 * np.random.rand(N)#面向对象作图ax = plt.subplot(111, projection='polar')bars = ax.bar(left=theta, height=radii, width=width, bottom=0.0)# left:起始绘制位置# height:bar的高度# width:角度# Use custom colors and opacityfor r, bar in zip(radii, bars): bar.set_facecolor(plt.cm.viridis(r / 10.)) bar.set_alpha(0.5)plt.show()# 4.散点图# matplot推荐使用该方法绘制(面向对象)fig,ax=plt.subplots()ax.plot(10*np.random.randn(100),10*np.random.randn(100),'o')ax.set_title('面向对象绘制散点图',fontproperties='YouYuan',fontsize=20)plt.show()
更多图表请参考:
1.Matplotlib Gallery
2.Matplotlib Examples
本文大纲和部分内容均摘自:Python数据分析与展示
阅读全文
1 0
- python数据分析复盘——数据分析相关库之Matplotlib
- python数据分析复盘——数据分析相关库之Numpy
- python数据分析复盘——数据分析相关库之Pandas
- python数据分析之数据可视化matplotlib
- python数据分析复盘——爬虫相关库
- Python点滴(三)—pandas数据分析与matplotlib画图
- Python点滴(三)—pandas数据分析与matplotlib画图
- Python数据分析相关库
- 数据分析复盘——相关理论之精益数据分析
- Python数据分析与展示(3)——Matplotlib库入门
- 【Python数据分析与展示】(三)matplotlib库pyplot
- 数据分析(3)-matplotlib
- 数据分析之Matplotlib绘图-01
- 数据分析之Matplotlib绘图-02
- Python数据分析相关资料
- python中数据分析数据可视化作图matplotlib
- Python数据挖掘学习04---matplotlib数据可视化分析
- python数据分析——matplotlib生成折线图,散点图和直方图
- 快速排序
- label标签
- iOS异常记录一
- [LeetCode]109. Convert Sorted List to Binary Search Tree
- LAMP环境的搭建
- python数据分析复盘——数据分析相关库之Matplotlib
- java使用反射机制将两个对象共有的属性进行复制value值
- hadoop实战随笔_0715
- 解读数据传输DTS技术架构及最佳实践
- Android welcome欢迎界面
- 希尔排序
- 网易博客fengqing888搬家至CSDN啦
- iframe 父页面与子页面之间的方法的相互调用
- Python可视化的扩展模块matplotlib的简单应用