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 相关文章推荐
Python3.2中的字符串函数学习总结
Apr 23 Python
python之文件读取一行一行的方法
Jul 12 Python
python 使用sys.stdin和fileinput读入标准输入的方法
Oct 17 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
Jan 07 Python
对Python中实现两个数的值交换的集中方法详解
Jan 11 Python
Python安装依赖(包)模块方法详解
Feb 14 Python
Python 如何操作 SQLite 数据库
Aug 17 Python
关于python3.9安装wordcloud出错的问题及解决办法
Nov 02 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
Nov 20 Python
linux系统下pip升级报错的解决方法
Jan 31 Python
Python 文本滚动播放器的实现代码
Apr 25 Python
详解Go语言运用广度优先搜索走迷宫
Jun 23 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
Yii2 RESTful中api的使用及开发实例详解
2016/07/06 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
PHP连接sftp并下载文件的方法教程
2018/08/26 PHP
JavaScipt基本教程之前言
2008/01/16 Javascript
javascript 面向对象编程基础:封装
2009/08/21 Javascript
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
2009/11/26 Javascript
javascript时区函数介绍
2012/09/14 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
5分钟学会Vue动画效果(小结)
2018/07/21 Javascript
JS实现打字游戏
2019/12/17 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
详解Vue3.0 + TypeScript + Vite初体验
2021/02/22 Vue.js
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
zbar解码二维码和条形码示例
2014/02/07 Python
Python创建文件和追加文件内容实例
2014/10/21 Python
使用Mixin设计模式进行Python编程的方法讲解
2016/06/21 Python
Tensorflow 查看变量的值方法
2018/06/14 Python
NBA欧洲商店(西班牙):NBA Europe Store ES
2019/04/16 全球购物
橄榄树药房:OLIVEDA
2019/09/01 全球购物
Lookfantastic阿联酋官网:英国知名美妆护肤购物网站
2020/05/26 全球购物
如何做好总经理助理
2013/11/12 职场文书
微观物理专业自荐信
2014/01/26 职场文书
装饰活动策划方案
2014/02/11 职场文书
英文演讲稿
2014/05/15 职场文书
团日活动总结怎么写
2014/06/25 职场文书
财务检查整改报告
2014/11/06 职场文书
2014年财务科工作总结
2014/11/11 职场文书
2015年人民调解工作总结
2015/05/18 职场文书
Java使用Unsafe类的示例详解
2021/09/25 Java/Android