contour - 绘制等高线

  1. mp.contour(x, y, z, 等高线条数,colors=颜色, linewidth=线宽)#等高线绘制

contourf - 填充等高线

  1. mp.contourf(x, y, z, 等高线条数,cmap=颜色映射)# 等高线填充

clabel - 标记等高线,向CS(由contour函数返回的matplotlib.contour.ContourSet对象)中的轮廓线添加标签

  1. clabel(CS, *args, **kwargs) 
  • CS - 由contour函数产生的句柄对象
  • fontsize - string(smaller, x-large) or float ,optional
  • colors - Color of each label
    • None, 标记的颜色为轮廓的颜色
    • one string color (e.g color = 'r' ), 所有的标签均为红色
    • a tuple of matplotlib color args (string, float, rgb, etc), 不同的标签按照指定的颜色标记
  • inline - bool, optional . 默认True(在标签位值移除轮廓线,也即标签覆盖轮廓线,而非穿越)
  • inline_spacing - float, optional,默认5,放置内联时,标签两侧留有的像素空间
  • fmt - string or dict, optional, 默认'%1.3f ',保留小数位。1.3中的1表示输出位宽,3表示小数位长度,此时实际数据会覆盖掉该数据对应的轮廓线;当9.3时,轮廓线会被覆盖掉9个位置,同时小数点后保留3位,也就是说,轮廓线移除的长度大于数据长度
  • manual - bool or iterable, optional , 手动添加标签。忽略该字典
  • rightside_up - bool, optional,默认 True(标签旋转均以正负90度计)
  • use_clabeltext - bool, optional,默认False,若为True,则用 `ClabelText` class (instead of `Text`) 创建标签,当使用“CababelTress”绘制文本时,会重新计算文本的旋转角度,因此,如果轴的角度发生变化时,可以使用“CababelTress”来旋转角度。

举例:One-class SVM

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. import matplotlib.font_manager
  4. from sklearn import svm
  5.  
  6. xx, yy = np.meshgrid(np.linspace(-5, 5, 500), np.linspace(-5, 5, 500))
  7. # Generate train data
  8. X = 0.3 * np.random.randn(100, 2)
  9. X_train = np.r_[X + 2.4, X - 2.3]
  10. X_test = np.r_[X + 2, X - 2]
  11. # Generate some abnormal novel observations
  12. X_outliers = np.random.uniform(low=0.1, high=4, size=(20, 2))
  13. # fit the model
  14. clf = svm.OneClassSVM(nu=0.1, kernel='rbf', gamma=0.1)
  15. clf.fit(X_train)
  16. y_pred_train = clf.predict(X_train)
  17. y_pred_test = clf.predict(X_test)
  18. y_pred_outliers = clf.predict(X_outliers)
  19. n_error_train = y_pred_train[y_pred_train == -1].size
  20. n_error_test = y_pred_test[y_pred_test == -1].size
  21. n_error_outlier = y_pred_outliers[y_pred_outliers == 1].size
  22.  
  23. # plot the line , the points, and the nearest vectors to the plane
  24. Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()])
  25. Z = Z.reshape(xx.shape)
  26.  
  27. plt.title("Novelty Detection")
  28. # 填充等高线图
  29. plt.contourf(xx, yy, Z, levels=np.linspace(Z.min(), 0, 7), cmap=plt.cm.PuBu)
  30. # 绘制等高线
  31. a = plt.contour(xx, yy, Z, levels=[0, Z.max()], colors='palevioletred')
  32.  
  33. s = 40
  34. b1 = plt.scatter(X_train[:, 0], X_train[:, 1], c='green', s=s, edgecolors='k')
  35. b2 = plt.scatter(X_test[:, 0], X_test[:, 1], c='blueviolet', s=s, edgecolors='k')
  36. c = plt.scatter(X_outliers[:, 0], X_outliers[:, 1], c='gold', s=s, edgecolors='k')
  37.  
  38. plt.axis('tight')
  39. plt.xlim((-5, 5))
  40. plt.ylim((-5, 5))
  41. plt.legend([a.collections[0], b1, b2, c],
  42. ["learned frontier", 'training observations',
  43. "new regular observations", "new abnormal observations"],
  44. loc="upper left",
  45. prop=matplotlib.font_manager.FontProperties(size=11))
  46. plt.xlabel("error train: %d/200; errors novel regular: %d/40; errors novel abnormal:%d/40" %
  47. (n_error_train, n_error_test, n_error_outlier))
  48. plt.show()

参考文献:

【1】基于matplotlib的数据可视化 - 等高线 contour 与 contourf

 

matplotlib---画等高线的更多相关文章

  1. matplotlib画图实例:pyplot、pylab模块及作图參数

    http://blog.csdn.net/pipisorry/article/details/40005163 Matplotlib.pyplot画图实例 {使用pyplot模块} matplotli ...

  2. MatplotLib常用基本操作

    本文记录matlibplot常用基本操作,都是基本功能,不涉及复杂联合操作,其中各用法详细用法可参考官网: 1. 基本画图操作 ##mofan_matplotlib.pyplot import mat ...

  3. matplotlib等高线图-【老鱼学matplotlib】

    等高线图是在地理课中讲述山峰山谷时绘制的图形,在机器学习中也会被用在绘制梯度下降算法的图形中. 因为等高线的图有三个信息:x, y以及x,y所对应的高度值. 这个高度值的计算我们用一个函数来表述: # ...

  4. 基于matplotlib的数据可视化 - 等高线 contour 与 contourf

    contour 与contourf 是绘制等高线的利器. contour  - 绘制等高线 contourf - 填充等高线 两个的返回值值是一样的(return values are the sam ...

  5. matplotlib绘制等高线图

    参考自Matplotlib Python 画图教程 (莫烦Python)(12)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili.com/video/av16 ...

  6. python+matplotlib 绘制等高线

    python+matplotlib 绘制等高线 步骤有七: 有一个m*n维的矩阵(data),其元素的值代表高度 构造两个向量:x(1*n)和y(1*m).这两个向量用来构造网格坐标矩阵(网格坐标矩阵 ...

  7. python之《matplotlib》

    # _*_coding:utf-8_*_# /usr/bin/env python3# Author:book Mikiimport matplotlib.pyplot as pltimport nu ...

  8. matplotlib的学习10-Contours 等高线图

    import matplotlib.pyplot as plt import numpy as np ''' 画等高线 数据集即三维点 (x,y) 和对应的高度值,共有256个点. 高度值使用一个 h ...

  9. python安装numpy、scipy和matplotlib等whl包的方法

    最近装了python和PyCharm开发环境,但是在安装numpy和matplotlib等包时出现了问题,现总结一下在windows平台下的安装方法. 由于现在找不到了工具包新版本的exe文件,所以采 ...

  10. matplotlib 高级用法实例--共享x轴

    http://localhost:8888/notebooks/duanqs/matplotlib_advanced_example.ipynb 我不会弄呀, 刚才从matplotlib文档里吧示例用 ...

随机推荐

  1. 【2019.7.15 NOIP模拟赛 T2】与非树(nand)(树形DP)

    树形\(DP\) 实际上,这道题应该不是很难. 我们设\(f_{x,i,j}\)表示在以\(x\)为根的子树内,原本应输出\(i\),结果输出了\(j\)的情况数. 转移时,为了方便,我们先考虑与,再 ...

  2. Spring Boot Admin2.X监控的服务context-path问题

    在使用Spring Boot Admin进行监控时,如果被监控的服务没有加context-path的话是不会有任何问题的,一旦服务加了context-path的配置,监控就会失败. 下图是正常情况的显 ...

  3. 拒绝后门程序-Alibabaprotect和AliPaladin

    详细参考帖子及评论区:流氓进程AlibabaProtect的删除[程序员吧]_百度贴吧 首先打开服务找到AlibabaProtect,然后找到他的位置(C:\Program Files (x86)\A ...

  4. Salesforce - 建立轮循机制的潜在客户分配规则

    客服中心经常会遇到由多个客服轮流分配接进来的订单,例如你有100个订单进入系统,你希望五个客服每人分配20个,也就是一种小组的轮换机制,常被称为“轮询” 这种循环分配规需要保证平均分配给客服新的订单记 ...

  5. visual studio远程调试 remote debugger

    下载远程debug工具: https://docs.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging?view=vs-2015 或者 ...

  6. 网络基础-------------给电脑设置IP

    ip 是每一台电脑进入互联网的一个必备钥匙,没有它就不能体会冲浪的乐趣,当我们使用电脑连接无线时我们就会被自动分配一个ip地址(DHCP),这样我们就可以凭借这个IPV4地址来进行冲浪了,但是自动分配 ...

  7. 【C++】如何使用GCC生成动态库和静态库

    一.静态库和动态库的定义及区别 程序编译的四个过程: 1.预处理  展开头文件/宏替换/去掉注释/条件编译(.i后缀) 2.编译    检查语法,生成汇编(.s后缀) 3.汇编    汇编代码转换成机 ...

  8. FormData使用详解

  9. mac 远程桌面连接

    1.安装 百度搜索下载远程桌面连接软件 microsoft remote desktop for mac,或者你安装了mac版的office,会默认有安装这个软件的. 提示“证书或相关链无效”的解决办 ...

  10. Web API 2 的操作结果

    这是msdn原文文档!明天用,留存. Web API 控制器操作可以返回以下任何内容: void HttpResponseMessage IHttpActionResult 其他类型 根据返回的这种情 ...