颜色和样式

  1. 八种内建默认颜色缩写
    b:blue g:green r:red c:cyan m:magenta y:yellow k:black w:white
    其它颜色表示方法可以参照百度给的值
    https://baike.baidu.com/item/%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6%E9
    %A2%9C%E8%89%B2%E7%A0%81/10894232?fromtitle=%E9%A2%9C%E8%89%B2%E5%8D
    %81%E5%85%AD%E8%BF%9B%E5%88%B6&fromid=15455510&fr=aladdin
  1. 灰色阴影
    html 十六进制
    RGB元组
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3.  
  4. y=np.arange(1,5)
  5. # plt.plot(y,'--',marker='o',color='g')
  6. # '--',marker='o',color='g',分别表示线型,点型,颜色
  7.  
  8. # plt.plot(y+1,'-.',marker='D',color='0.5')
  9. # plt.plot(y+2,':',marker='^',color='#FF00FF')
  10. # plt.plot(y+3,'-',marker='p',color=(0.1,0.2,0.3))
  11.  
  12. # 可以将颜色,点型,线型写成一个字符串
  13. plt.plot(y,'cx--')
  14.  
  15. plt.show()
  1. 面向对象 VS Matlab Style

pyplot:经典高层封装,到目前为止,我们所用的都是pyplotpylab:将Matplotlib和NumPy合并的模块,模拟Matlab的编程环境面向对象的方式:Matplotlib的精髓,更基础和底层的方式

pyplot:简单易用。交互使用方便,可以根据命令实时作图。但底层定制能力不足

pylab:完全封装,环境最接近Matlab。不推荐使用

面向对象(Object-Oriented)的方式:接近Matplotlib基础和底层的方式。难度稍大。

但定制能力强而且是Matplotlib的精髓

总结:实战中推荐,根据需求,总和使用pyplot和面向对象的方式,显示导入numpy

常用模块导入代码:

import matplotlib.pyplot as plt

import numpy as np

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3.  
  4. x = np.arange(0, 10, 1)
  5. y = np.random.randn(len(x))
  6.  
  7. fig = plt.figure()
  8. # 面向对象方法,要先建立一个画布
  9.  
  10. ax = fig.add_subplot(111)
  11. # 相当于将要在画布上建立一个一行一列的图,最后数字1表示要画的图在第一个位置
  12. # ax = fig.add_subplot(221)
  13.  
  14. f1 = plt.plot(x, y)
  15.  
  16. t = ax.set_title('object oriented') # 为图命名
  17.  
  18. # plt.plot(x, y)
  19. plt.show()

多图

要创建多个画布即应该在代码中每画一个图就需要插入fig=plt.figure()如下代码

  1. import matplotlib.pyplot as plt
  2. # import numpy as np
  3.  
  4. figl=plt.figure()
  5. ax1=figl.add_subplot(111)
  6. ax1.plot([1,2,3],[3,2,1])
  7.  
  8. fig2=plt.figure()
  9. ax2=fig2.add_subplot(111)
  10. ax2.plot([1,2,3],[3,2,5])
  11.  
  12. plt.show()

网格

在画图的时候可以添加背景网格的形式增加图的可读性

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3.  
  4. x = np.arange(0,10,1)
  5. fig = plt.figure()
  6. ax = fig.add_subplot(111)
  7. plt.plot(x,x*2)
  8.  
  9. ax.grid(color='g')
  10. # 这是要给所画的图添加网格的代码行
  11.  
  12. plt.show()

图例

图例是图表中一种很重要的说明方式,在matplotlib中也可以添加图例

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3.  
  4. x=np.arange(1,11,1)
  5.  
  6. # 添加图例的第一种方式
  7. # plt.plot(x, x*2, label='Normal')
  8. # plt.plot(x, x*3, label='Fast')
  9. # plt.plot(x, x*4, label='Faster')
  10.  
  11. plt.plot(x, x*2)
  12. plt.plot(x, x*3)
  13. plt.plot(x, x*4)
  14. plt.legend(['Normal','Fast','Faster'])
  15. plt.legend(loc=0) # 图例放置最优位置,官网上有更多的相关解释
  16. plt.legend(ncol=3) # 图例分三列放
  17.  
  18. plt.show()

坐标轴范围

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3.  
  4. x = np.arange(-10,11,1)
  5.  
  6. plt.plot(x,x*x)
  7.  
  8. # plt.axis([-5,5,20,60]) # 前两个数字表示x轴范围,后两个数字表示y轴范围
  9. plt.axis([-10,10,0,100])
  10. # plt.xlim([-5,5]) # 可以只改变x轴范围y轴不变
  11. # plt.ylim([0,60])
  12. # plt.xlim(xmin=-5,xmax=5) # 与plt.xlim([-5,5]) 效果一样
  13. plt.xlim(xmin=-5) # 只改变x轴一端的范围
  14. plt.show()

坐标轴刻度

  1. import matplotlib.pyplot as plt
  2. import matplotlib as mpl
  3. import numpy as np
  4. import datetime
  5. x = np.arange(1,11,1)
  6. plt.plot(x,x)
  7. ax=plt.gca() # 表示获取当前的坐标轴,对坐标轴操作需要添加此行
  8.  
  9. # ax.locator_params('x',nbins=5)
  10. # 给x轴添加刻度
  11.  
  12. ax.locator_params('y', nbins=5)
  13. # 给y轴添加刻度
  14.  
  15. # 下面是x轴的日期刻度标注方法
  16. fig=plt.figure()
  17. start=datetime.datetime(2015,1,1)
  18. stop=datetime.datetime(2016,1,1)
  19. delta=datetime.timedelta(days=1)
  20.  
  21. dates = mpl.dates.drange(start,stop,delta)
  22. y=np.random.rand(len(dates))
  23. ax=plt.gca()
  24. ax.plot_date(dates,y,linestyle='-',marker='')
  25.  
  26. date_format=mpl.dates.DateFormatter('%Y-%m')
  27. ax.xaxis.set_major_formatter(date_format) # xaxis表示在x轴添加日期刻度
  28. fig.autofmt_xdate() # 由于日期的数字过长,所以需要matplotlib自动优化摆放方式
  29.  
  30. plt.show()

添加坐标轴

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3.  
  4. x=np.arange(2,20,1)
  5. y1=x*x
  6. y2=np.log(x)
  7.  
  8. # 这是添加y轴
  9. # plt.plot(x,y1)
  10. # plt.twinx() #创建一个双胞胎x轴
  11. # plt.plot(x,y2,'r')
  12.  
  13. # 这是添加x轴
  14. plt.plot(y1, x)
  15. plt.twiny() #创建一个双胞胎y轴
  16. plt.plot(y2, x, color='r')
  17.  
  18. # 这是用面向对象的方式添加坐标轴
  19. # fig = plt.figure()
  20. # ax1 = fig.add_subplot(111)
  21. # ax1.plot(x,y1)
  22. # ax1.set_ylabel('Y1')
  23. # ax2=ax1.twinx()
  24. # ax2.plot(x,y2,'r')
  25. # ax2.set_ylabel('y2')
  26. # ax1.set_xlabel('Compare Y1 and Y2')
  27.  
  28. plt.show()

matplotlib笔记2的更多相关文章

  1. Python matplotlib笔记

    可视化的工具有很多,如Tableau,各种JS框架,我个人感觉应该是学JS最好,因为JS不需要环境,每个电脑都有浏览器,而像matplotlib需要Python这样的开发环境,还是比较麻烦的,但是毕竟 ...

  2. matplotlib笔记3

    关于matplotlib的绘制图形的基本代码,我们可以参照下面的连接 https://matplotlib.org/gallery/index.html https://matplotlib.org/ ...

  3. matplotlib笔记1

    散点图-scatter 散点图显示两组数据的值,每个点的坐标位置由变量的值决定由一组不连接的点完成,用于观察两种变量的相关 import numpy as np import matplotlib.p ...

  4. matplotlib笔记——legend用法

    rates = [0.01, 0.001, 0.0001] models = {} costs = np.array([[0.7, 0.9, 0.4, 0.6, 0.4, 0.3, 0.2, 0.1] ...

  5. Google TensorFlow深度学习笔记

    Google Deep Learning Notes Google 深度学习笔记 由于谷歌机器学习教程更新太慢,所以一边学习Deep Learning教程,经常总结是个好习惯,笔记目录奉上. Gith ...

  6. Matplotlib:mpl_toolkits.mplot3d工具包

    简介 mpl_toolkits.mplot3d是Matplotlib里面专门用来画三维图的工具包,官方指南请点击此处<mplot3d tutorial> 使用 导入 使用from mpl_ ...

  7. Matplotlib 学习笔记

    注:该文是上了开智学堂数据科学基础班的课后做的笔记,主讲人是肖凯老师. 数据绘图 数据可视化的原则 为什么要做数据可视化? 为什么要做数据可视化?因为可视化后获取信息的效率高.为什么可视化后获取信息的 ...

  8. Matplotlib学习笔记(二)

    原  Matplotlib学习笔记 参考:Python数据科学入门教程 Python3.6.1 jupyter notebook .caret, .dropup > .btn > .car ...

  9. Matplotlib学习笔记(一)

    原   matplotlib学习笔记 参考:Python数据科学入门教程 Python3.6.1 jupyter notebook .caret, .dropup > .btn > .ca ...

随机推荐

  1. vue的基本用法

    公共样式---pc版的404报错 动态src 这个是vue组件template部分 <div class="not-found"> <img :src=" ...

  2. js学习笔记(1)

    前言 ​ 因为后期的软件工程组队作业需要js,在纪华裕大佬的带领下(我觉得他好像更喜欢纪华裕这个名字),我开始了js的学习.其实这篇博客应该在两天前的晚上就发出来了,因为忙着写个人编程,拖到了现在,组 ...

  3. 配置 阿里云ECS Ubuntu 16.04 64bit 桌面环境

    1. 步骤 安装软件 修改root权限 重启 2. 详情 1. 安装软件 创建脚本文件(例如:desktopSetting.sh),并输入以下内容: #!/bin/bash #更新软件库 apt-ge ...

  4. Hortonworks,快速上手 Hadoop 的套件

    最近我在思考的一件事情:如何帮助团队 SQL 开发快速掌握大数据相关技术呢?面对疯狂暴涨的数据,SQL Server 存储成本越来越高了,日志的增长量也极大超过预期,隔三差五总有空间不足导致的应用异常 ...

  5. Tosca 注意事项(持续更新)

    #浏览器不能同时打开两个,不然不知道选哪个 #浏览器必须是100% 不能zoom in zoom out #浏览器 internet options 必须要配置,不然跑的很慢 照着这个配  https ...

  6. python 混入类MixIn

    写在前面 能把一件事情说的那么清楚明白,感谢廖雪峰的官方网站. 1.为什么要用混入类?(小白入门) 继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能. step1: 回忆一下 ...

  7. SQL语句里合并两个select查询结果

    SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 ...

  8. 算法习题---4-1象棋(UVa1589)

    一:题目 在黑方只有一个“将”的情况下,红方只有(车.马.炮)(可以多个).帅的情况下,判断黑方是否被将死 (一)题目详解 其中棋盘按照坐标方式表示,左上角为(,),列数最大9,行数最大10 G 表示 ...

  9. web自动化-selenium+Chrome驱动国内下载地址+驱动对应Chrome版本号

    selenium各版本下载地址 http://selenium-release.storage.googleapis.com/index.html 国内下载:http://npm.taobao.org ...

  10. Java API操作Hadoop可能会遇到的问题以及解决办法

    https://www.zifangsky.cn/1292.html Could not locate Hadoop executable: xxx\bin\winutils.exe   1 2 3 ...