python用matplotlib画人口图_Python+Matplotlib画contour图
— 全文阅读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图相关推荐
- python绘制时间序列图_python matplotlib 画dataframe的时间序列图实例
python matplotlib 画dataframe的时间序列图实例 在python中经常会用到pandas来处理数据,最常用的数据类型是dataframe,但是有时候在dataframe有时间字 ...
- python画点连线_python matplotlib 在指定的两个点之间连线方法
python matplotlib 在指定的两个点之间连线方法 为了找到matplotlib在两个点之间连线的方法真是费了好大功夫,最后还是决定用简单的 plt.plot 来解决.如果有好多对点,则可 ...
- python 折线图变成直线图_python如何画折线图
python画折线图利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图:# -*- coding: UTF-8 -*- import numpy as ...
- python画k线图_Python绘制K线图
不管是对量化分析师还是普通的投资者来说,K线图(蜡烛图)都是一种很经典.很重要的工具.在K线图中,它会绘制每天的最高价.最低价.开盘价和收盘价,这对于我们理解股票的趋势以及每天的多空对比很有帮助. 一 ...
- python中color的用法顺序_Python Matplotlib.colors.Normalize用法及代码示例
Matplotlib是Python中令人惊叹的可视化库,用于数组的二维图. Matplotlib是一个基于NumPy数组的多平台数据可视化库,旨在与更广泛的SciPy堆栈配合使用. matplotli ...
- python中的figure什么意思_Python Matplotlib.figure.Figure.text()用法及代码示例
Matplotlib是Python中的一个库,它是数字的-NumPy库的数学扩展. Figure模块提供了顶层Artist,即Figure,其中包含所有绘图元素.此模块用于控制所有图元的子图和顶层容器 ...
- python绘制qq图_Python中作QQ图(quantilequantile Plot)
Q-Q图主要可以用来回答这些问题: 两组数据是否来自同一分布 PS:当然也可以用KS检验,利用python中scipy.stats.ks_2samp函数可以获得差值KS statistic和P值从而实 ...
- python程序画漂亮图片_Python能画美观的专业插图吗 ?当然!
原标题:Python能画美观的专业插图吗 ?当然! 文末领取[Python绘图代码] 冯昱尧| 方法一作者 阿昆 | 方法二作者 极市平台 | 编译 知乎 | 来源 1 方法一 强烈推荐 Python ...
- python怎么变成动图_python可以做动图吗
ImageMagick 是一套功能强大.稳定而且开源的工具集和开发包,可以用来读.写和处理超过200种基本格式的图片文件,包括PNG,JPEG,GIF,HEIC,TIFF,DPX,EXR,WebP,P ...
最新文章
- git branch 为什么会进入编辑状态_gitamp;github(总结git与github的基本用法)
- R语言使用ggplot2包使用geom_density()函数绘制分组密度图(分组拆分画板基于facet)实战(density plot)
- mysql anyvalue报错_Mysql 的ANY_VALUE()函数和 ONLY_FULL_GROUP_BY 模式
- ABAP并发编程到底能提高多少性能
- 自学编程的人,都是怎么找到自己的第一份工作的?
- mysql 事务 select_mysql 多个select需要放入一个事务吗?
- 使用Android Studio打包app
- java heap space 解决方法_内存溢出错误:java堆空间
- ORA-01031:insufficient privileges
- 9. PHP 之 Factory pattern(工厂设计模式)
- 利用PS制作GIF动图
- 强化学习(一):简介——什么是强化学习?
- 记war exploded部署不成功
- 这就是你日日夜夜想要的docker!!!---------TLS加密远程连接Docker
- 安装pycrypto,windows10,全解
- 2021年中国集成电路重点企业对比(光迅科技VS大唐电信VS士兰微VS中芯国际)[图]
- js时间戳转时间年月日时分秒
- 漏洞复现——shiro反序列化
- Janis—微操作探针台系统
- 扩展activiti 支持任意属性扩展
热门文章
- select sqlite 唯一_SQLite中的SELECT子句使用通配符
- python参数化_Python unittest 简单实现参数化的方法
- 【C#】list 去重
- HAProxy高可用配置视频教程
- C#拾遗系列(9):继承、接口、扩展方法、分部类、类操作、Ref and Out、可空类型...
- Fortinet“安立方”架构获得NSS Labs BDS 组测试多攻击维度100%检出率佳绩
- bzoj4385 POJ2015 Wilcze doły
- 机会的度量:概率和分布
- Android 动态生成 EditTest
- Openldap部署LDAP服务器平台