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的ORM框架SQLAlchemy入门教程
Apr 28 Python
python字典多条件排序方法实例
Jun 30 Python
使用python实现rsa算法代码
Feb 17 Python
python实现决策树、随机森林的简单原理
Mar 26 Python
通过Python 接口使用OpenCV的方法
Apr 02 Python
python 同时运行多个程序的实例
Jan 07 Python
Python 保持登录状态进行接口测试的方法示例
Aug 06 Python
python误差棒图errorbar()函数实例解析
Feb 11 Python
python数据爬下来保存的位置
Feb 17 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
Nov 17 Python
python 发送邮件的四种方法汇总
Dec 02 Python
在Python中实现字典反转案例
Dec 05 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 date函数参数详解
2006/11/27 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
2011/11/07 PHP
PHP中使用CURL模拟登录并获取数据实例
2014/07/01 PHP
php从memcache读取数据再批量写入mysql的方法
2014/12/29 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
学习ExtJS accordion布局
2009/10/08 Javascript
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
JavaScript实现页面定时刷新(定时器,meta)
2016/10/12 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
jQuery选择器之属性筛选选择器用法详解
2017/09/19 jQuery
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
Python 实现try重新执行
2019/12/21 Python
Python基于numpy模块实现回归预测
2020/05/14 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
戴尔美国官网:Dell
2016/08/31 全球购物
梅西酒窖:Macy’s Wine Cellar
2018/01/07 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
大学生个人求职信
2014/06/02 职场文书
群众路线领导对照材料
2014/08/23 职场文书
采购内勤岗位职责
2015/04/13 职场文书
联欢会开场白
2015/06/01 职场文书
初任公务员培训心得体会
2016/01/08 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server
Python中相见恨晚的技巧
2021/04/13 Python
Pytorch 如何加速Dataloader提升数据读取速度
2021/05/28 Python
python 进阶学习之python装饰器小结
2021/09/04 Python