画直线图

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包画基本的图的更多相关文章

  1. complexHeatmap包画分类热图

    用途:一般我们画热图是以连续变量作为填充因子,complexHeatmap的oncopoint函数可以以类别变量作为填充因子作热图. 用法:oncoPrint(mat, get_type = func ...

  2. 利用Tkinter和matplotlib两种方式画饼状图

    当我们学习python的时候,总会用到一些常用的模块,接下来我就详细讲解下利用两种不同的方式画饼状图.首先利用[Tkinter]中的canvas画布来画饼状图: from tkinter import ...

  3. 用matplotlib.pyplot画简单的折线图,直方图,散点图

    #coding=utf-8 """ 用matplotlib.pyplot画简单的折线图,直方图,散点图 """ import matplot ...

  4. 四步轻松实现用Visio画UML类图

    本节和大家一起学习一下用Visio画UML类图的方法,主要有四个步骤,这里和大家分享一下,相信通过本节的学习,你对Visio画UML类图的步骤一定会有所了解. 用Visio画UML类图 对于画类图的工 ...

  5. 用Visio画UML顺序图

    1.顺序图 顺序图又称为时序图,顾名思义,它着重表现的是对象间消息传递的时间顺序.顺序图描述的对象也是一个用例,即一组行为操作,而它表现的是这组行为的先后关系(纵坐标),以及每个行为是属于哪个对象的( ...

  6. Visio画UML类图、序列图 for Java

    参考文档: 1.百度搜索: 怎样用Visio 2007画C++类图 连接 https://jingyan.baidu.com/article/9f7e7ec07286e16f281554f7.html ...

  7. Python matplot画散列图

    同matlab一样,matplot也可画散列图scatter. import numpy as np import matplotlib.pyplot as plt #fig = plt.figure ...

  8. vue中使用echarts画饼状图

    echarts的中文文档地址:https://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20EC ...

  9. 【学习总结】GirlsInAI ML-diary day-21-初识 Numpy, Matplotlib, Seanborn [柱状图、折线图、箱图]

    [学习总结]GirlsInAI ML-diary 总 原博github链接-day21 初识 Numpy, Matplotlib, Seanborn [柱状图.折线图.箱图] 一.Titanic练习赛 ...

随机推荐

  1. springboot form 提交集合 list

    前端代码: function btnSubmit(data) { var url = $('form').attr("action"); $.ajax({ url: url, ty ...

  2. Storm概念、原理详解及其应用(一)BaseStorm

    本文借鉴官文,添加了一些解释和看法,其中有些理解,写的比较粗糙,有问题的地方希望大家指出.写这篇文章,是想把一些官文和资料中基础.重点拿出来,能总结出便于大家理解的话语.与大多数“wordcount” ...

  3. 全新WayOS 配置文件保存工具支持蓝色界面路由版本

    一直以来都有群里的朋友要求我弄一个支持蓝色界面路由的参数备份工具,也一直拖了大半年 昨天忙到4点多,早上又因为一些小的BUG被用户电话叫起,干脆就帮你们整一个这个工具了 功能还是一样,支持各种参数的保 ...

  4. Windows7下安装cpu版的Tensorflow

    windows7下安装python3.5 1.下载python-3.5.2-amd64.whl https://www.python.org/downloads/release/python-352/ ...

  5. Sql Server Snapshot和mysql MVCC

    mysql 在一个事务A中插入一条数据 在B事务中查询到的还是以前的数据,可以select *from table,不被锁住   Sql Server 默认级别 读已提交 所以A事务在 X表插入数据, ...

  6. 使用intellij idea打包并部署到外部的tomcat

    1.使用intellij idea创建项目demotest File -> New -> Project-> Spring Initializr,根据提示一步步操作 会生成一个带有 ...

  7. C++中使用ODBC API访问数据库例程

    使用ODBC API访问数据库简单流程,供参考使用:  ODBC API 123456789101112131415161718192021222324252627282930313233343536 ...

  8. 用VS2012不能打开VS2010的项目

    应该是装过sql2012或者sql2008,自带的那个visual studio,你可以直接在外面打开VS2012,然后用里面的文件去打开项目.而不要直接双击那个解决方案的文件.

  9. Linux-PAM认证机制

    http://www.cnblogs.com/marility/articles/9235522.html https://www.jianshu.com/p/342c05b51b7c https:/ ...

  10. spring boot整合activemq消息中间件

    spring boot整合activemq消息中间件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi ...