— 全文阅读3分钟 —

在本文中,你将学习到以下内容:

理解画contour图的数据结构

contour图的参数调节

如何添加colorbar

我们先假设x, y的取值范围如下:

import matplotlib.pyplot as plt

import numpy as np

x = np.array([1, 2, 3])

y = np.array([2, 3, 4, 5])

1

2

3

4

5

importmatplotlib.pyplotasplt

importnumpyasnp

x=np.array([1,2,3])

y=np.array([2,3,4,5])

Z的形状是跟x, y的数量有关[y, x],在这里是[4, 3]的矩阵,

Z = np.random.random((4, 3))

#生成的随机数如下:

Out:

array([[0.02980206, 0.08622278, 0.37927009],

[0.16850501, 0.39804124, 0.32187975],

[0.50572111, 0.9504401 , 0.72451858],

[0.61250858, 0.04186458, 0.68754931]])

1

2

3

4

5

6

7

Z=np.random.random((4,3))

#生成的随机数如下:

Out:

array([[0.02980206,0.08622278,0.37927009],

[0.16850501,0.39804124,0.32187975],

[0.50572111,0.9504401,0.72451858],

[0.61250858,0.04186458,0.68754931]])

得到x, y, Z以后作图,首先我们要生成由x, y组成的网格图:

X, Y = np.meshgrid(x, y)

1

X,Y=np.meshgrid(x,y)

调用contourf填充颜色:

括号中的参数3控制的是颜色细分的数量,这里是4种颜色,数值越大,颜色渐变越柔和,cmap调用cm颜色库中的Spectral,详见。

#注意X, Y, Z都是大写,赋值a后面要用到

a = plt.contourf(X, Y, Z, 3, cmap=plt.cm.Spectral)

1

2

#注意X, Y, Z都是大写,赋值a后面要用到

a=plt.contourf(X,Y,Z,3,cmap=plt.cm.Spectral)

调用contour画等高线:

括号中的参数3控制的是等高线的数量。

# 赋值b后面要用到

b = plt.contour(X, Y, Z, 3, colors='black', linewidths=1, linestyles='solid')

1

2

# 赋值b后面要用到

b=plt.contour(X,Y,Z,3,colors='black',linewidths=1,linestyles='solid')

此时做出来的图效果如下:

Figure_1.png

接下来我们需要添加colorbar:

在这里调用a,即前面的填充色, ticks可以控制colorbar显示的刻度,在这里可省略ticks参数。

plt.colorbar(a, ticks=[0, 0.25, 0.5, 0.75, 1])

1

plt.colorbar(a,ticks=[0,0.25,0.5,0.75,1])

效果图如下:

Figure_2.png

还可以图中添加标签:

在这里调用b,即前面的等高线。

plt.clabel(b, inline=True, fontsize=10)

1

plt.clabel(b,inline=True,fontsize=10)

最终效果图如下:

Figure_3.png

完整代码如下:

import matplotlib.pyplot as plt

import numpy as np

# 已知x, y, Z

x = np.array([1, 2, 3])

y = np.array([2, 3, 4, 5])

Z = np.random.random((4, 3))

# 建立网格

X, Y = np.meshgrid(x, y)

# 注意X, Y, Z都是大写,赋值a后面要用到

a = plt.contourf(X, Y, Z, 3, cmap=plt.cm.Spectral)

#赋值b后面要用到

b = plt.contour(X, Y, Z, 3, colors='black', linewidths=1, linestyles='solid')

# 添加colorbar,ticks在这里可省略

plt.colorbar(a, ticks=[0, 0.25, 0.5, 0.75, 1])

#添加图内标签

plt.clabel(b, inline=True, fontsize=10)

plt.show()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

importmatplotlib.pyplotasplt

importnumpyasnp

# 已知x, y, Z

x=np.array([1,2,3])

y=np.array([2,3,4,5])

Z=np.random.random((4,3))

# 建立网格

X,Y=np.meshgrid(x,y)

# 注意X, Y, Z都是大写,赋值a后面要用到

a=plt.contourf(X,Y,Z,3,cmap=plt.cm.Spectral)

#赋值b后面要用到

b=plt.contour(X,Y,Z,3,colors='black',linewidths=1,linestyles='solid')

# 添加colorbar,ticks在这里可省略

plt.colorbar(a,ticks=[0,0.25,0.5,0.75,1])

#添加图内标签

plt.clabel(b,inline=True,fontsize=10)

plt.show()

python用matplotlib画人口图_Python+Matplotlib画contour图相关推荐

  1. python绘制时间序列图_python matplotlib 画dataframe的时间序列图实例

    python matplotlib 画dataframe的时间序列图实例 在python中经常会用到pandas来处理数据,最常用的数据类型是dataframe,但是有时候在dataframe有时间字 ...

  2. python画点连线_python matplotlib 在指定的两个点之间连线方法

    python matplotlib 在指定的两个点之间连线方法 为了找到matplotlib在两个点之间连线的方法真是费了好大功夫,最后还是决定用简单的 plt.plot 来解决.如果有好多对点,则可 ...

  3. python 折线图变成直线图_python如何画折线图

    python画折线图利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图:# -*- coding: UTF-8 -*- import numpy as ...

  4. python画k线图_Python绘制K线图

    不管是对量化分析师还是普通的投资者来说,K线图(蜡烛图)都是一种很经典.很重要的工具.在K线图中,它会绘制每天的最高价.最低价.开盘价和收盘价,这对于我们理解股票的趋势以及每天的多空对比很有帮助. 一 ...

  5. python中color的用法顺序_Python Matplotlib.colors.Normalize用法及代码示例

    Matplotlib是Python中令人惊叹的可视化库,用于数组的二维图. Matplotlib是一个基于NumPy数组的多平台数据可视化库,旨在与更广泛的SciPy堆栈配合使用. matplotli ...

  6. python中的figure什么意思_Python Matplotlib.figure.Figure.text()用法及代码示例

    Matplotlib是Python中的一个库,它是数字的-NumPy库的数学扩展. Figure模块提供了顶层Artist,即Figure,其中包含所有绘图元素.此模块用于控制所有图元的子图和顶层容器 ...

  7. python绘制qq图_Python中作QQ图(quantilequantile Plot)

    Q-Q图主要可以用来回答这些问题: 两组数据是否来自同一分布 PS:当然也可以用KS检验,利用python中scipy.stats.ks_2samp函数可以获得差值KS statistic和P值从而实 ...

  8. python程序画漂亮图片_Python能画美观的专业插图吗 ?当然!

    原标题:Python能画美观的专业插图吗 ?当然! 文末领取[Python绘图代码] 冯昱尧| 方法一作者 阿昆 | 方法二作者 极市平台 | 编译 知乎 | 来源 1 方法一 强烈推荐 Python ...

  9. python怎么变成动图_python可以做动图吗

    ImageMagick 是一套功能强大.稳定而且开源的工具集和开发包,可以用来读.写和处理超过200种基本格式的图片文件,包括PNG,JPEG,GIF,HEIC,TIFF,DPX,EXR,WebP,P ...

最新文章

  1. git branch 为什么会进入编辑状态_gitamp;github(总结git与github的基本用法)
  2. R语言使用ggplot2包使用geom_density()函数绘制分组密度图(分组拆分画板基于facet)实战(density plot)
  3. mysql anyvalue报错_Mysql 的ANY_VALUE()函数和 ONLY_FULL_GROUP_BY 模式
  4. ABAP并发编程到底能提高多少性能
  5. 自学编程的人,都是怎么找到自己的第一份工作的?
  6. mysql 事务 select_mysql 多个select需要放入一个事务吗?
  7. 使用Android Studio打包app
  8. java heap space 解决方法_内存溢出错误:java堆空间
  9. ORA-01031:insufficient privileges
  10. 9. PHP 之 Factory pattern(工厂设计模式)
  11. 利用PS制作GIF动图
  12. 强化学习(一):简介——什么是强化学习?
  13. 记war exploded部署不成功
  14. 这就是你日日夜夜想要的docker!!!---------TLS加密远程连接Docker
  15. 安装pycrypto,windows10,全解
  16. 2021年中国集成电路重点企业对比(光迅科技VS大唐电信VS士兰微VS中芯国际)[图]
  17. js时间戳转时间年月日时分秒
  18. 漏洞复现——shiro反序列化
  19. Janis—微操作探针台系统
  20. 扩展activiti 支持任意属性扩展

热门文章

  1. select sqlite 唯一_SQLite中的SELECT子句使用通配符
  2. python参数化_Python unittest 简单实现参数化的方法
  3. 【C#】list 去重
  4. HAProxy高可用配置视频教程
  5. C#拾遗系列(9):继承、接口、扩展方法、分部类、类操作、Ref and Out、可空类型...
  6. Fortinet“安立方”架构获得NSS Labs BDS 组测试多攻击维度100%检出率佳绩
  7. bzoj4385 POJ2015 Wilcze doły
  8. 机会的度量:概率和分布
  9. Android 动态生成 EditTest
  10. Openldap部署LDAP服务器平台