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脚本
Feb 10 Python
Python中lambda的用法及其与def的区别解析
Jul 28 Python
Python字典简介以及用法详解
Nov 15 Python
python 中split 和 strip的实例详解
Jul 12 Python
使用python爬取B站千万级数据
Jun 08 Python
使用python将大量数据导出到Excel中的小技巧分享
Jun 14 Python
Python常见数字运算操作实例小结
Mar 22 Python
利用python在大量数据文件下删除某一行的例子
Aug 21 Python
Python面向对象封装操作案例详解
Dec 31 Python
Django media static外部访问Django中的图片设置教程
Apr 07 Python
Django 解决新建表删除后无法重新创建等问题
May 21 Python
教你用python实现一个无界面的小型图书管理系统
May 21 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
PHPShop存在多个安全漏洞
2006/10/09 PHP
PHP取整数函数常用的四种方法小结
2012/07/05 PHP
php增删改查示例自己写的demo
2013/09/04 PHP
php实现异步数据调用的方法
2015/12/24 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
传智播客学习之JavaScript基础篇
2009/11/13 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
jquery 追加tr和删除tr示例代码
2013/09/12 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
jQuery事件对象总结
2016/10/17 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
详解webpack的配置文件entry与output
2017/08/21 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
2019/08/12 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
图解JS原型和原型链实现原理
2020/09/15 Javascript
Python学习笔记之常用函数及说明
2014/05/23 Python
Python入门篇之编程习惯与特点
2014/10/17 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
Python单元测试实例详解
2018/05/25 Python
python逆序打印各位数字的方法
2018/06/25 Python
对python中的argv和argc使用详解
2018/12/15 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
2019/08/20 Python
Python求解正态分布置信区间教程
2019/11/20 Python
python小项目之五子棋游戏
2019/12/26 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
南威尔士家居商店:Leekes
2016/10/25 全球购物
新加坡鲜花速递/新加坡网上花店:Ferns N Petals
2020/08/29 全球购物
extern是什么意思
2016/03/10 面试题
毕业生求职简历的自我评价
2013/10/23 职场文书
辞职离别感言
2015/08/04 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript