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总结相关推荐

  1. matplotlib交互模式

    Matpotlib交互模式 在运行python程序时有时候需要生成以下的 动态图模式 来显示程序运行的结果 此时需要使用matplotlib的 交互模式 ,在Ipython中时默认使用交互模式的. 在 ...

  2. matplotlib绘制热力图

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/jin_tmac/article/det ...

  3. Python关于%matplotlib inline

    我在做一个比赛需要使用到LSTM模型对时间序列进行预测,然后在github代码中经常会看到这样的代码: import numpy import matplotlib.pyplot as plt fro ...

  4. Python:matplotlib实践:直方图、散点图展示、变色、线条变换、点样式变换、添加名称、设置横纵轴范围、在一张图上显示多条线

    直方图: ''' 来源:天善智能韦玮老师课堂笔记 作者:Dust ''' # 折线图.散点图 import matplotlib.pylab as pyl import numpy as npy x= ...

  5. pip install scipy和matplotlib报错的问题详解:(pip install其它时报错通用)

    多灾多难的pip简直太玄学了,在第一个电脑上装的时候啥问题都没有,给第二个装的时候各种问题-- 附上numpy 和 pandas的报错解决方案:https://blog.csdn.net/qq_362 ...

  6. 机器学习实战 k-近邻算法 使用matplotlib创建散点图

    问题一: >>>import matplotlib 出现 No module named 'matplotlib' 解决过程 >pip install matplotlib 出 ...

  7. 能带曲线图绘制python_如何使用python的matplotlib模块画折线图

    python是个很有趣的语言,可以在cmd命令窗口运行,还有很多的功能强大的模块.这篇经验告诉你,如何利用python的matplotlib模块画图. 工具/原料 windows系统电脑一台 pyth ...

  8. matlab contour光滑,使用Matplotlib在Contour Plot中平滑数据

    我正在使用Matplotlib创建轮廓图.我有所有的数据 在一个多维的数组中.这是12长约2000宽.所以它是 基本上是12个长度为2000的列表.我有等高线图 工作正常,但我需要平滑数据.我读了很多 ...

  9. matlab plot不均匀间隔,matplotlib如何绘制间隔为2^n的不均匀图形?

    如果我的意见不够清楚,请你问.:)from matplotlib import pyplot as plt # Instanciating my lists... f = lambda x:x**2 ...

  10. 机器学习四剑客2——Matplotlib

    1.什么是Matplotlib 2.Matplotlib的基本要点 3.Matplotlib的散点图.直方图.柱状图 4.更多的画图工具 函数 说明 plt.plot(x,y,fmt,...) 绘制一 ...

最新文章

  1. 程序员也需要工匠精神
  2. CodeChefSeries Sum (伯努利数+生成函数+FFT)
  3. Android文件操作中的openFileOutPut和openFileInput
  4. 游戏外挂的基本编写原理
  5. 简化得最没道理的6个汉字,让人大跌眼镜
  6. PHP工程改成微擎的步骤_微擎模块开发流程
  7. 使用viewPage实现图片轮播
  8. python socket recv超时_python使用多线程编写tcp客户端程序,你还没掌握吗?
  9. chrome使用脚本修改组策略_允许Chrome安装第三方网站的脚本以及扩展的方法
  10. Atitit 理财之道 信用卡账单管理之道 attilax总结 1. 信用卡账单管理 信用卡账单信息的目的,解决一下问题 2 1.1. 账单记录明细可追溯,原则上保留五十年 可按照时间  银行  卡
  11. OC基础--OC中类的定义
  12. linux scl软件包下载,Centos7升级gcc版本方法之一使用scl软件集
  13. 计算机自动保存会存到哪里,电脑自动关机前会自动保存吗
  14. 【python】程序结构
  15. NLP-文本处理:词形归一(Lemma)【英文】【把各种类型的词的变形都归为一个形式】【went->go;are->be】
  16. 对策论基础---引言
  17. [qt]qt下载地址
  18. 移动指数加权平均笔记
  19. PS基础--水平翻转图像
  20. 消防气体灭火系统(一)

热门文章

  1. 计算机考研分数403,总分403分过来人分享成功考研经验_跨考网
  2. 支付宝芝麻分701,花呗借呗额度提升明显,网友:三年没涨一分
  3. 美团买单与微信分付入局后,蚂蚁花呗和京东白条地位不保了?
  4. python派森知多少_派森吧 - pythonpub.com | 享受python带来的便利以及快乐
  5. Xshell连接centOS7
  6. POJ1655 树重心模板题
  7. 终于找到了一款好用的录屏软件了
  8. php 精湛技术,【名医风采】范学民:用精湛技术温暖患者
  9. 【Redis】Redis的五大数据类型
  10. 连接策略与搜索引擎优化