Python Matplotlib绘制等高线图与渐变色扇形图


Posted in Python onApril 14, 2022

渐变色扇形图

使用 python - matplotlib 颜色地图plt.cm模块儿,来绘制出颜色渐变、更加好看的扇形图。也称彩虹图,但是也不限于彩虹图,可以选择的颜色地图(colormap)有:

Paired, autumn, rainbow, gray, spring, Darks。

下边以颜色地图rainbow为例(彩虹图),写出以下代码,并展示各种颜色样式下的图像效果。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm


# 字体使用楷体
plt.rcParams['font.sans-serif'] = ['STKAITI']
plt.rcParams['axes.unicode_minus'] = False
# 准备数据
shapes = ['安徽省', '云南省', '福建省', '河南省', '辽宁省',
          '重庆', '湖南省', '四川省', '北京', '上海', '广西壮族自治区', '河北省',
          '浙江省', '江苏省', '湖北省', '山东省', '广东省']
values = [842, 866, 1187, 1405, 1495, 1620, 1717,
          2313, 2378, 3070, 4332, 5841, 6482, 7785, 9358, 9818, 20254]
s = pd.Series(values, index=shapes)
labels = s.index
sizes = s.values


fig, ax = plt.subplots(figsize=(8, 8), facecolor='#cc00ff')
# rainbow
# 这里的len(sizes)是选择的颜色的个数,也是绘制饼图的数据个数,
# 此处参数通常写为np.arange(len(sizes))/len(sizes)形式,不用纠结太多关于其用法。
colors = cm.rainbow(np.arange(len(sizes))/len(sizes))
patches, texts, autotexts = ax.pie(sizes, labels=labels, autopct='%1.0f%%',
                                   startangle=180,
                                   colors=colors,
                                   pctdistance=0.8,
                                   textprops={'fontsize': 15, 'color': '#8B1A1A'},
                                   )

ax.set_title('部分地区某指标占比图', loc='center', fontsize=25, color='blue')
plt.show()

图像效果如下:

Python Matplotlib绘制等高线图与渐变色扇形图

除此之外,也可以调用cm模块的get_cmap()方法来完成。可以对该方法有所了解(小啾觉得上边展示的方法是更为方便的)。

以Paired颜色地图 为例:

Python Matplotlib绘制等高线图与渐变色扇形图

以颜色地图autumn为例:

Python Matplotlib绘制等高线图与渐变色扇形图

以颜色地图gray为例:

Python Matplotlib绘制等高线图与渐变色扇形图

以颜色地图spring为例:

Python Matplotlib绘制等高线图与渐变色扇形图

等高线

绘制等高线图使用的是matplotlib.pyplot的contourf()方法。

该函数语法如下:

plt.contourf(X, Y, f(X,Y))

其中 X和Y都是二维数组。(meshgrid()方法作用后的 网格化 形式)

f(X,Y)指的是对X、和Y使用f()函数进行计算的结果,计算的结果作为该坐标点的高度。

一段可以参考的示例代码如下:

import numpy as np
import matplotlib.pyplot as plt


# 计算x,y坐标对应的高度值
def fun(x, y):
    return (1-x/2+x**2+y**3) * np.exp(-x**2-y**2)


# 设置个背景色
plt.figure(facecolor='#66ff33')
n = 256
x = np.linspace(-3, 3, n)
y = np.linspace(-3, 3, n)
# 把x,y数据转换为二维数据(网格化)
X, Y = np.meshgrid(x, y)
# 填充等高线
plt.contourf(X, Y, fun(X, Y))

# 显示图表
plt.show()

其中fun(x, y)是计算高度的公式,可以根据我们的需求自由定制。

绘制出的图像效果呈现如下:

Python Matplotlib绘制等高线图与渐变色扇形图

到此这篇关于基于Python+Matplotlib绘制渐变色扇形图与等高线图的文章就介绍到这了!

Python 相关文章推荐
python实现代理服务功能实例
Nov 15 Python
深度剖析使用python抓取网页正文的源码
Jun 11 Python
python基于windows平台锁定键盘输入的方法
Mar 05 Python
python爬虫实战之爬取京东商城实例教程
Apr 24 Python
python 请求服务器的实现代码(http请求和https请求)
May 25 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
Python面向对象程序设计示例小结
Jan 30 Python
django celery redis使用具体实践
Apr 08 Python
python中时间、日期、时间戳的转换的实现方法
Jul 06 Python
Python headers请求头如何实现快速添加
Nov 03 Python
Python实战之实现康威生命游戏
Apr 26 Python
Python代码实现双链表
May 25 Python
python读取并查看npz/npy文件数据以及数据显示方法
Apr 14 #Python
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 14 #Python
Python中time标准库的使用教程
Apr 13 #Python
Python函数对象与闭包函数
Apr 13 #Python
Python作用域和名称空间的详细介绍
Apr 13 #Python
Python获取字典中某个key的value
Apr 13 #Python
You might like
php tpl模板引擎定义与使用示例
2019/08/09 PHP
JavaScript 高级语法介绍
2009/06/15 Javascript
js 实现复制到粘贴板的功能代码
2010/05/13 Javascript
如何在一个页面显示多个百度地图
2013/04/07 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
js实现匹配时换色的输入提示特效代码
2015/08/17 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
2015/12/08 Javascript
js+css绘制颜色动态变化的圈中圈效果
2016/01/27 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
JS把内容动态插入到DIV的实现方法
2016/07/19 Javascript
javascript中数组和字符串的方法对比
2016/07/20 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
解决vue+router路由跳转不起作用的一项原因
2020/07/19 Javascript
Python向Excel中插入图片的简单实现方法
2018/04/24 Python
【python】matplotlib动态显示详解
2019/04/11 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
Python二维码生成识别实例详解
2019/07/16 Python
HTML的form表单和django的form表单
2019/07/25 Python
Python class的继承方法代码实例
2020/02/14 Python
Python中logging日志库实例详解
2020/02/19 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
Python安装Bs4的多种方法
2020/11/28 Python
保荐人的岗位职责
2013/11/19 职场文书
教师自荐信范文
2013/12/09 职场文书
商铺消防安全责任书
2014/07/29 职场文书
党的群众路线教育实践活动对照检查材料(个人)
2014/09/24 职场文书
个人事迹材料范文
2014/12/29 职场文书
教师工作表现评语
2014/12/31 职场文书
考研经验交流会策划书
2015/11/02 职场文书
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL
Python OpenGL基本配置方式
2022/05/20 Python
Nginx配置使用详解
2022/07/07 Servers