matplotlib包画基本的图
画直线图
1.最简单的用法:
import matplotlib.pyplot as plt
import numpy as np x=np.linspace(-3,3,50) #在(-1,1)范围内生成50个数,等分的,
y=2*x+1 #一张图里画一条线
plt.figure() #如果是一张图里只有一条线,则使用它与不使用他差别不大,如果是在一张图里有2条或多条线,则使用它可以把两条线放在一个图里。
plt.plot(x,y)
plt.show()
2.有的时候需要在一张图里画两条或多条线,这个时候就需要figure()
import matplotlib.pyplot as plt
import numpy as np x=np.linspace(-3,3,50) #在(-1,1)
y=2*x+1
y2=x**2 #一张图里化两条或多条线
plt.figure()
plt.plot(x,y)
plt.plot(x,y2)
plt.show()
3.当设置坐标轴时,需要设置坐标轴的范围,单位长度,替换文字
import matplotlib.pyplot as plt
import numpy as np x=np.linspace(-3,3,50) #在(-1,1)范围内生成50个数,等分的,
y=2*x+1
y2=x**2 #修改图中的样式
plt.figure(num=3,figsize=(8,5))
plt.plot(x,y2)
plt.plot(x,y,color='red',linewidth=2.0,linestyle='--') #设置线段的颜色,长度,样式,注意linestyle的值只能是两个‘-’,不能是其他数量个#设置坐标轴,设置坐标轴的范围,长度,替换文字等
plt.xlim(-1,2) #设置x轴的范围
plt.ylim(-2,3) #设置y轴的范围
plt.xlabel("i am x!") #设置x轴的名称,解释
plt.ylabel("i am y!") #设置y轴的名称,解释
plt.show() #设置坐标轴的刻度的值为指定的值 new_ticks=np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks) #设置x轴的刻度和对应的名称
plt.yticks([-2,-1.8,-1,.22,3],[r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$really\ good$']) #设置y轴刻度和对应的名称
plt.show()
4.设置坐标轴之——设置坐标轴的位置
import matplotlib.pyplot as plt
import numpy as np x=np.linspace(-3,3,50) #在(-1,1)范围内生成50个数,等分的,
y=2*x+1
y2=x**2 #修改图中的样式
plt.figure(num=3,figsize=(8,5))
#设置坐标轴原点
plt.plot(x,y2)
plt.plot(x,y,color='red',linewidth=2.0,linestyle='--')
plt.xlabel("i am x!")
plt.ylabel("i am y!")
new_ticks=np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,-1,.22,3],[r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$really\ good$'])
ax=plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none') ax.xaxis.set_ticks_position('bottom') #.xaxis.set_ticks_position设置x坐标刻度数字或名称的位置:属性值有top,bottom,both,default,none
ax.spines['bottom'].set_position(('data',-1)) #设置边框位置,y=0的位置,即x轴绑定在y=1时的位置上
ax.yaxis.set_ticks_position('left') #.yaxis.set_ticks_position设置x坐标刻度数字或名称的位置
ax.spines['left'].set_position(('data',0)) #设置边框位置,x=0的位置,即y轴绑定在x=0时的位置上
plt.show()
5,图例设置
import matplotlib.pyplot as plt
import numpy as np x=np.linspace(-3,3,50) #在(-1,1)范围内生成50个数,等分的,
y=2*x+1
y2=x**2 #修改图中的样式
plt.figure(num=3,figsize=(8,5))
#设置图例
l1,=plt.plot(x,y2,label='linear line') #label设置label的名字 ,注意l1,和l2,是以逗号结尾的,因为plt.plot返回的是一个列表
l2,=plt.plot(x,y,color='red',linewidth=2.0,linestyle='--',label='square line') #label设置label的名字
plt.legend(handles=[l1,l2],labels=['up','down'],loc='best') #将图例添加到图中的最佳位置
plt.xlabel("i am x!")
plt.ylabel("i am y!")
new_ticks=np.linspace(-1,2,5)
print(new_ticks)
plt.xticks(new_ticks)
plt.yticks([-2,-1.8,-1,.22,3],[r'$really\ bad$',r'$bad$',r'$normal$',r'$good$',r'$really\ good$'])
ax=plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
plt.show()
其中loc参数有多种,best表示自动分配最佳位置,其余为
best->0
upper right->1
upper left->2
lower left->3
lower right->4
right->5
center left->6
center right->7
lower center->8
upper center->9
center->10
画散点图:
import matplotlib.pyplot as plt
import numpy as np #data size
n=1024
X=np.random.normal(0,1,n) #生成1024个数,其中平均数是0,方差是1
Y=np.random.normal(0,1,n)
T=np.arctan2(Y,X) plt.scatter(X,Y,s=75,c=T,alpha=0.5)#大小是75,颜色是T,透明度是0.5,X,Y作为location
plt.xlim(-1.5,1.5)
plt.xticks(())#隐藏x轴
plt.ylim(-1.5,1.5)
plt.yticks(()) #隐藏y轴
plt.show()
画柱状图
import matplotlib.pyplot as plt
import numpy as np n=12
X=np.arange(n) #穗姐生成12个数字,x为0-11的整数,Y为相应的均匀分布的随机数据
Y1=(1-X/float(n)*np.random.uniform(0.5,1.0,n))
Y2=(1-X/float(n)*np.random.uniform(0.5,1.0,n))
plt.bar(X,+Y1,facecolor='#9999ff',edgecolor='white') #facecolar设置主题颜色,edgecolor设置边框颜色为白色
plt.bar(X,-Y2,facecolor='#ff9999',edgecolor='white')
plt.xlim(-0.5,n)
plt.xticks(()) #隐藏x轴
plt.ylim(-1.25,1.25)
plt.yticks(()) #隐藏y轴
for x,y in zip(X,Y1):
plt.text(x+0.4,y+0.05,'%.2f' %y,ha='center',va='bottom')
for x,y in zip(X,Y2): #吧X,Y2分别传到x,y中
plt.text(x+0.4,-y-0.05,'%.2f' %-y,ha='center',va='top') #把数据标记在图上
plt.show()
matplotlib包画基本的图的更多相关文章
- complexHeatmap包画分类热图
用途:一般我们画热图是以连续变量作为填充因子,complexHeatmap的oncopoint函数可以以类别变量作为填充因子作热图. 用法:oncoPrint(mat, get_type = func ...
- 利用Tkinter和matplotlib两种方式画饼状图
当我们学习python的时候,总会用到一些常用的模块,接下来我就详细讲解下利用两种不同的方式画饼状图.首先利用[Tkinter]中的canvas画布来画饼状图: from tkinter import ...
- 用matplotlib.pyplot画简单的折线图,直方图,散点图
#coding=utf-8 """ 用matplotlib.pyplot画简单的折线图,直方图,散点图 """ import matplot ...
- 四步轻松实现用Visio画UML类图
本节和大家一起学习一下用Visio画UML类图的方法,主要有四个步骤,这里和大家分享一下,相信通过本节的学习,你对Visio画UML类图的步骤一定会有所了解. 用Visio画UML类图 对于画类图的工 ...
- 用Visio画UML顺序图
1.顺序图 顺序图又称为时序图,顾名思义,它着重表现的是对象间消息传递的时间顺序.顺序图描述的对象也是一个用例,即一组行为操作,而它表现的是这组行为的先后关系(纵坐标),以及每个行为是属于哪个对象的( ...
- Visio画UML类图、序列图 for Java
参考文档: 1.百度搜索: 怎样用Visio 2007画C++类图 连接 https://jingyan.baidu.com/article/9f7e7ec07286e16f281554f7.html ...
- Python matplot画散列图
同matlab一样,matplot也可画散列图scatter. import numpy as np import matplotlib.pyplot as plt #fig = plt.figure ...
- vue中使用echarts画饼状图
echarts的中文文档地址:https://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20EC ...
- 【学习总结】GirlsInAI ML-diary day-21-初识 Numpy, Matplotlib, Seanborn [柱状图、折线图、箱图]
[学习总结]GirlsInAI ML-diary 总 原博github链接-day21 初识 Numpy, Matplotlib, Seanborn [柱状图.折线图.箱图] 一.Titanic练习赛 ...
随机推荐
- perl 中的引用
perl 语言中的引用共分为两类: 声明引用时只需要在对象的前面加上反斜杠 第一列是数组的引用: 代码示例: , , ); my $array_ref = \@array; 第二种是哈希的引用 代码示 ...
- 一步步配置cordova android开发环境
.先安装jdk-8u111-windows-x64(安装jdk1.) .安装android sdk(Android Stand-alone SDK Tools) .配置环境变量 环境变量: JAVA_ ...
- C# 把string字符导出到txt文档方法
public static string writtxt(string html, string file) { FileStream fileStream = new FileStream(Envi ...
- oracle转mysql总结
oracle转mysql总结 ares-sdk初始开发测试使用的是oracle数据库,由于宁波通商的特殊需要,必须把数据库环境从oracle转向mysql. 现对转换过程中出现的问题及经验总结如下: ...
- iOS: 动画更换 UIImageView 的 Image
#import <QuartzCore/QuartzCore.h> ... imageView.image = [UIImage imageNamed:(i % ) ? @"3. ...
- memcached系列之二
存储命令 1.set命令 语法: set key flags exptime bytes [noreply] value 参数说明: key: flags: exptime: bytes: norep ...
- android中YUV转RGB的方法
在一个外国网站上看到一段YUV转RGB的程序很不错,根据维基上的知识,方法应该是没问题的,自己也用过了,效果没问题. 首先说一下android上preview中每一帧的信息都是YUV420的,或者叫N ...
- cordova开发跨平台应用问题随笔记
iOS下频繁请求地理位置授权 做的某个cordova应用有用到geolocation插件,跑在iOS的时候发现app请求了一次授权,结果webkit还请求了一次授权,不但如此,webkit请求的格式还 ...
- selenium 如何处理table
qi_ling2005 http://jarvi.iteye.com/blog/1477837 andyguo http://blog.csdn.net/gzh0222/article/detai ...
- Win7 共享打印机 “错误:共享无法保存设置”
原因:windows的后台防火墙服务进程[Windows Firewall{服务描述}.MpsSvc{服务名字}] 关闭了.services.smc 关闭 解决:重启服务 关闭防火墙的功能,通过控制面 ...