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练习赛 ...
随机推荐
- python环境搭建和开发工具的配置【转】
因为要学习python了,第一步当然是环境搭建和开发工具的配置了,下边开始了. 我的开发环境是在window下. 一.环境搭建 先在python官网python.org下载安装文件,python2.x ...
- 嵌入式开发之hi3519---i2c EEPROM
http://pdf1.alldatasheetcn.com/datasheet-pdf/view/163283/MICROCHIP/24LC024.html http://www.elecfans. ...
- CI框架 -- 核心文件 之 Loader.php(加载器)
顾名思义,装载器就是加载元素的,使用CI时,经常加载的有: 加载类库文件:$this->load->library() 加载视图文件:$this->load->view() ...
- android位移动画的两种实现方式
在android开发,我们会常常使用到位移动画,普通情况下位移动画有两种实现方式.一种是直接通过java代码去实现,第二种是通过配置文件实现动画,以下是两种动画的基本是用法: 纯Java代码实现: / ...
- Kafka 之 入门
摘要: 最近研究采集层,对Kafka做了一个研究.分为入门,中级,高级步步进阶.本篇主要介绍基本概念,适用场景. 一.入门 1. 简介 Kafka is a distributed, parti ...
- Druid搭配log4j2输出SQL语句和结果
一.引言 其实Druid的内置了log4jdbc来显示SQL语句,虽然显示效果不如原生的log4jdbc效果好,但是因为内置所以不需要其他更多的配置. 二.使用 1. 创建基于druid的logger ...
- C语言中的数组问题
数组默认最后一位是 结束符 占一位, 假如是7个字节大小的数组 实际输入为6个字节,最后一个字节为'\0' 这样写 char password_set[7]={"123456"}; ...
- js 按键
原文:https://www.cnblogs.com/lunlunshiwo/p/8705856.html 上周临近周末休息的时候,一个同事跑过来了,对我说:“阿伦啊,有一个页面出问题了,火狐浏览器所 ...
- asp.net GridView实现多表头类 多行表头实现方法
以上列表中运用的都是基本的东东: 1.多表头: 2.按值改变行颜色: 3.分页码 代码: AndyGridViewTHeaderHepler.cs //------------------------ ...
- hbase深入了解
http://blog.csdn.net/u010967382/article/details/37878701?utm_source=tuicool&utm_medium=referral ...