matplotlib总结
1.图形样式
(1)数据展示(图表类型:线形图、柱状图、盒形图、散布图、等值线图等)
fig=plt.figure()#创建新的figure
plt.gcf()#得到当前的引用
ax1=fig.add_subplot(2,2,1)#创建一个或多个subplot
plt.plot([1.5,3.5,2,5])#在最后一个用过的subplot上进行绘制
ax1.hist(randn(100),bins=20,color='k',alpha=0.3)#在ax1上绘制直方图
plt.subplots()#结合figure和subplot
subplot_adjust(left=None,right=None,bottom=None,top=None,wspace=None,hspace=None)#调整subplot周围的间距
plt.plot(x,c,color='blue',linewidth=2.0,linestyle='-',marker='o',drawstyle='steps-post')#设置曲线的粗细,颜色,标记和插值方式
(2)图例
ax.plot(randn(1000).cumsum(),'k',label='one')#手动传入label
ax.legend(loc='best')#自动选择最不碍事的地方
(3)标题
ax.set_title('My first matplotlib plot')
(4)刻度标签
xlim,xticks,xticklabels
set_,get_
1)设置坐标轴范围
plt.xlim(X.min()*1.1,X.max()*1.1)
2)设置坐标轴刻度位置
ticks=ax.set_xticks([0,250,500,750,1000])
3)设置坐标轴刻度标签
labels=ax.set_xticklabels(['one','two','three','four','five'],rotation=30,fontsize='small')
plt.xticks((-np.pi,-np.pi/2,np.pi/2,np.pi),(r'$-\pi$',r'$-\pi/2$',r'$\pi/2$',r'\pi$')) #前面是确定坐标,后面是在坐标上显示的标签 #结合上面两个
4)设置坐标轴名称
ax.set_xlabel('Stages')
5)隐藏坐标轴和移动坐标轴
ax=plt.gca()#gca means get current axis得到当前坐标轴
ax.spines['right'].set_color('none')#通过none隐藏
ax.xaxis.set_ticks_position('bottom') #把刻度显示在当前轴上
ax.spines['bottom'].set_position(('data',0))#移动坐标轴 0代表x轴在y方向上的0处,‘data’目前还不清楚什么意思?
(5)放置注解
text,arrow,annotate
plt.plot([t,t],[0,np.cos(t)],color='blue',linewidth=1.5,linestyle='--')#从(t,0)到(t,cos(t))
plt.scatter([t,],[np.cos(t),],50,color='blue')#画个点
plt.annotate(r'$cos(\frac{2\pi}{3})=-\frac{1}{2}$',
xy=(t,np.cos(t)),xycoords='data',
xytext=(-90,-50),textcoords='offset points',fontsize=16,
arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))#\转意符,frac上下结构和{}配合使用,xy坐标,xytext,偏移点
2.图形对象
plt.figure创建图像,设置大小,不调用这个函数也行,系统有一个默认大小
参数 num:图像标识符,figsize图像大小(单位英寸),dpi(每英寸多小点)
plt.subplot创建子图
plt.axes创建坐标轴 坐标轴可以在图形上任意摆放,不需要按照网格。
plt.gca 获取当前坐标轴
复杂子图布局,用gridspec,G=gridspec.GridSpec(3,3) plt.subplot(G[0,:1])
坐标轴创建 plt.axes([.1,.1,.8,.8])
3.画图操作
plt.scatter(X,Y,s=75,c=T,alpha=.5)#s size点的大小,c color 点的颜色, alpha 透明度
plt.fill_between(X,-1,Y-1,(Y-1)>-1,color='blue',alpha=.25)# X范围 -1到Y-1之间 且(Y-1)>1成立,涂成blue
plt.bar(X,Y1,facecolor='#9999ff',edgecolor='white') #柱状图
np.meshgrid(x,y) 计算出x,y的交点
plt.contourf(X,Y,f(X,Y),8,alpha=.75,cmap=plt.cm.hot) #8指分成8类 cmap表示颜色映射风格
C=plt.contour(X,Y,f(X,Y),8,colors='black',linewidth=.5)#画等高线
plt.clabel(C,inline=1,fontsize=10)#表示等高线数值,inline代表把线打断,写在线里面
plt.imshow(f(X,Y),cmap='hot',origin='low')#把f(X,Y)矩阵的数值转化为图片
plt.pie(Z,explode=Z*0.05,colors=['%f'%(i/float(n)) for i in range(n)])#explode 每块扇形向外移多少
用plt.bar把圆形,先把polar=True
plt.subplot(1,2,2,polar=True)
plt.bar(theta,radii,width=width,bottom=0.0)#theta代表起始位置,radii代表半径,width代表宽度(这里指弧度)
4.pandas中的绘图函数
(1)线形图
s=Series(np.random.randn(10).cumsum(),index=np.arange(0,100,10)
s.plot()#用索引绘制x轴
df=DataFrame(np.random.randn(10,4).cumsum(0),columns=['A','B','C','D'],index=np.arange(0,100,10))
df.plot()#以各列绘制一条线,自动创建图例
(2)柱状图
data=Series(np.random.rand(16),index=list('abcdefghijklmnop'))
data.plot(kind='bar',ax=axes[0])#垂直柱状图
data.plot(kind='barh',ax=axes[1])#水平柱状图
df.plot(kind='bar')#每一行作为一组
df.plot(kind='barh',stacked=True)#堆积柱状图
(3)直方图和密度图
values.hist(bins=100,normed=True)#直方图
values.plot(kind='kde')#密度图
(4)散布图
plt.scatter(trans_data['m1'],trans_data['unemp'])
plt.scatter_matrix(trans_data,diagonal='kde')#散布图矩阵,对角线放置密度图(也可为直方图)
其他:关闭用close()
绘制地图用basemap工具集,下载地址 http://matplotlib.github.com/basemap
参考文献:《scikit-learn 机器学习》
《Python for Data Analysis》
matplotlib总结相关推荐
- matplotlib交互模式
Matpotlib交互模式 在运行python程序时有时候需要生成以下的 动态图模式 来显示程序运行的结果 此时需要使用matplotlib的 交互模式 ,在Ipython中时默认使用交互模式的. 在 ...
- matplotlib绘制热力图
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/jin_tmac/article/det ...
- Python关于%matplotlib inline
我在做一个比赛需要使用到LSTM模型对时间序列进行预测,然后在github代码中经常会看到这样的代码: import numpy import matplotlib.pyplot as plt fro ...
- Python:matplotlib实践:直方图、散点图展示、变色、线条变换、点样式变换、添加名称、设置横纵轴范围、在一张图上显示多条线
直方图: ''' 来源:天善智能韦玮老师课堂笔记 作者:Dust ''' # 折线图.散点图 import matplotlib.pylab as pyl import numpy as npy x= ...
- pip install scipy和matplotlib报错的问题详解:(pip install其它时报错通用)
多灾多难的pip简直太玄学了,在第一个电脑上装的时候啥问题都没有,给第二个装的时候各种问题-- 附上numpy 和 pandas的报错解决方案:https://blog.csdn.net/qq_362 ...
- 机器学习实战 k-近邻算法 使用matplotlib创建散点图
问题一: >>>import matplotlib 出现 No module named 'matplotlib' 解决过程 >pip install matplotlib 出 ...
- 能带曲线图绘制python_如何使用python的matplotlib模块画折线图
python是个很有趣的语言,可以在cmd命令窗口运行,还有很多的功能强大的模块.这篇经验告诉你,如何利用python的matplotlib模块画图. 工具/原料 windows系统电脑一台 pyth ...
- matlab contour光滑,使用Matplotlib在Contour Plot中平滑数据
我正在使用Matplotlib创建轮廓图.我有所有的数据 在一个多维的数组中.这是12长约2000宽.所以它是 基本上是12个长度为2000的列表.我有等高线图 工作正常,但我需要平滑数据.我读了很多 ...
- matlab plot不均匀间隔,matplotlib如何绘制间隔为2^n的不均匀图形?
如果我的意见不够清楚,请你问.:)from matplotlib import pyplot as plt # Instanciating my lists... f = lambda x:x**2 ...
- 机器学习四剑客2——Matplotlib
1.什么是Matplotlib 2.Matplotlib的基本要点 3.Matplotlib的散点图.直方图.柱状图 4.更多的画图工具 函数 说明 plt.plot(x,y,fmt,...) 绘制一 ...
最新文章
- 程序员也需要工匠精神
- CodeChefSeries Sum (伯努利数+生成函数+FFT)
- Android文件操作中的openFileOutPut和openFileInput
- 游戏外挂的基本编写原理
- 简化得最没道理的6个汉字,让人大跌眼镜
- PHP工程改成微擎的步骤_微擎模块开发流程
- 使用viewPage实现图片轮播
- python socket recv超时_python使用多线程编写tcp客户端程序,你还没掌握吗?
- chrome使用脚本修改组策略_允许Chrome安装第三方网站的脚本以及扩展的方法
- Atitit 理财之道 信用卡账单管理之道 attilax总结 1. 信用卡账单管理 信用卡账单信息的目的,解决一下问题	2 1.1. 账单记录明细可追溯,原则上保留五十年 可按照时间 银行 卡
- OC基础--OC中类的定义
- linux scl软件包下载,Centos7升级gcc版本方法之一使用scl软件集
- 计算机自动保存会存到哪里,电脑自动关机前会自动保存吗
- 【python】程序结构
- NLP-文本处理:词形归一(Lemma)【英文】【把各种类型的词的变形都归为一个形式】【went->go;are->be】
- 对策论基础---引言
- [qt]qt下载地址
- 移动指数加权平均笔记
- PS基础--水平翻转图像
- 消防气体灭火系统(一)