python学习笔记(14):可视化分析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python学习笔记(14):可视化分析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3488字,纯文字阅读大概需要5分钟。
内容图文
一、Matplotlib
1.用于创建出版质量图表的绘图工具库
2.目的的为Python构建一个Matlab式的绘图接口
3.import matplotlib.pyplot as plt:pyplot模块包含了常用的matplotlib API函数
4.figure
(1)Matplotlib的图像均位于figure对象中,创建figure:plt.figure()
#引入 matplotlib包 import matplotlib.pyplot as plt %matplotlib inline
#创建figure
fig = plt.figure()
5.Subplot
(1)fig.add_subplot(a,b,c)
a,b表示将fig分割成axb的区域,c表示当前选中要操作的区域,注意编号从1号开始
返回的是AxesSubplot对象
plot绘图的区域是最后一次指定的subplot的位置
在指定的sublot里结合scipy绘制统计图
#在一张图上做子图 ax1 = fig.add_subplot(2,2,1) ax2= fig.add_subplot(2,2,2) ax3=fig.add_subplot(2,2,4) ax4 = fig.add_subplot(2,2,4)
#在subplot上来作图
import numpy as np
random_arr = np.random.randn(100) #生成100个随机数随机分布
#print random_arr
#默认是在最后一次使用subplot的位置上作图,但是在jupyter里是无效的
plt.plot(random_arr) #这里默认作的是线图
plt.show()
(2)直方图 hist;s散点图scatter;柱状图 bar;矩阵绘图plt.imshow()
#在指定的subplot上来绘图 import scipy as sp from scipy import stats x = np.linspace(-5,15,50) #这里表示生成一组数,数据的范围是从-5到15,将数据平均分成50份 print(x.shape) #打印出数据的分布以及数据的大小 print(x) #绘制高斯分布,下面的这个x是x轴,sp.stats.norm.pdf是y轴 plt.plot(x,sp.stats.norm.pdf(x=x,loc = 5,scale=2)) #绘制叠加直方图 sp.stats.norm.rvs是生成一个正太分布的直方图,将数据分为50个小组,指定颜色,指定透明度 plt.hist(sp.stats.norm.rvs(loc=5,scale=2,size=200),bins=50,normed=True,color=‘red‘,alpha=0.5) plt.show()
#绘制直方图 plt.hist(np.random.randn( 100),bins=10,color=‘b‘,alpha=0.3) plt.show()
(3)散点图scatter
#绘制散点图,x是一个向量,y也是一个向量 x = np.arange(50) y = x + 5*np.random.rand(50) plt.scatter(x,y)
(4)柱状图bar
#柱状图,这个图包括了常规作图的基本的元素 x= np.arange(5) #要生成5个柱子,就需要生成5个坐标 #下面需要绘制两个柱状图,np.random.randint(1,25,size=(2,5))表示生成从1到25的随机整数 #最后生成的形状是2行5列的形状 y1,y2=np.random.randint(1,25,size=(2,5)) print(x) print(‘y1‘,y1) #生成的是1到25之间的随机整数,生成的大小是5列的数据 print(type(y1)) #<class‘numpy.ndarray‘> print(‘y2‘,y2) width=0.25 #指定柱子的宽度为0.25 ax = plt.subplot(1,1,1) #生成1x1的图,现在在1的位置上 ax.bar(x,y1,width,color=‘r‘) #这个地方先画第一组 ax.bar(x+width,y2,width,color=‘g‘) #因为现在0,1,2,3,4位置被占据了,现在再在原来的位置上作图会有叠加,挪动的位置就是前面柱子的宽度 ax.set_xticks(x+width) # 将x轴的标记挪动width宽度 ax.set_xticklabels([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) #这列设置xlabel的标签 plt.show() #xticks,yticks #xlable,ylable #x_lim,y_lim #title
(5)矩阵绘图 plt.imshow():混淆矩阵,三个维度的关系,通过颜色来进行分析
import numpy as np #矩阵绘图 m = np.random.rand(10,10) print(m) #interpolation=‘nearest‘输出的时候默认的差值的方法,cmap=plt.cm.ocean设置蓝色的主题 #在机器学习中主要用于绘制混淆矩阵,三分类问题,识别猫狗猪。当类比较多的时候,混淆矩阵就会很有用 plt.imshow(m,interpolation=‘nearest‘,cmap=plt.cm.ocean) plt.colorbar() plt.show()
(6)绘制子图
#subplots(2,2s)是指定数据是几行几列,这里绘图是两行两列的子图 fig,subplot_arr = plt.subplots(2,2) #这里是指定在0行0列的位置上绘制直方图,这是一个正常的情况 subplot_arr[0][0].hist(np.random.randn(100),color=‘b‘,alpha=0.3) plt.show()
(7)颜色、标记、线型
ax.plot(x,y,‘r--‘):等价于ax.plot(x,y,linestyle=‘--‘,color=‘r‘)
颜色:b blue
g:green
r:red
c:cyan
m:magenta
y:yello
k:black
w:white
(8)刻度、标签和图例
设置刻度范围
plt.xlim(),plt.ylim()
ax.set_xlim(),ax.set_ylim()
设置显示的刻度
plt.xticks(),plt.yticks()
设置刻度标签
ax.set_xticklabels(),ax.set_yticklabels()
设置坐标轴标签
ax.set_xlabel(),ax.set_ylabel()
设置标题:ax.set_title()
图例
ax.plot(label=‘legend‘)
ax.legend()、plt.legent()
loc=‘best‘ 自动选择放置图例的最佳位置
fig,ax = plt.subplots(1) ax.plot(np.random.randn(1000).cumsum(),label=‘line0‘) #设置刻度 ax.set_xlim([0,800]) #设置显示的刻度 ax.set_xticks(range(0,500,100)) #设置刻度标签 ax.set_yticklabels([‘Jan‘,‘Feb‘,‘Mar‘]) #设置坐标轴的标签 ax.set_xlabel(‘Number‘) ax.set_ylabel(‘Month‘) #设置标题 ax.set_title(‘Example‘) #图例 ax.plot(np.random.randn(1000).cumsum(),label=‘学校‘) ax.plot(np.random.randn(1000).cumsum(),label=‘line2‘) ax.legend() ax.legend(loc=‘best‘) plt.legend()
(9)matplotlib设置
plt.rc()
原文:https://www.cnblogs.com/bigdata-stone/p/10207360.html
内容总结
以上是互联网集市为您收集整理的python学习笔记(14):可视化分析全部内容,希望文章能够帮你解决python学习笔记(14):可视化分析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。