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实现基本进制转换的方法
Jul 11 Python
Tensorflow卷积神经网络实例进阶
May 24 Python
python 实现对数据集的归一化的方法(0-1之间)
Jul 17 Python
浅谈tensorflow中几个随机函数的用法
Jul 27 Python
对python字典过滤条件的实例详解
Jan 22 Python
在Python中居然可以定义两个同名通参数的函数
Jan 31 Python
Python 实现将数组/矩阵转换成Image类
Jan 09 Python
在PyCharm中实现添加快捷模块
Feb 12 Python
python批量处理多DNS多域名的nslookup解析实现
Jun 28 Python
python 制作python包,封装成可用模块教程
Jul 13 Python
python 提高开发效率的5个小技巧
Oct 19 Python
浅谈Python __init__.py的作用
Oct 28 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将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
javascript的事件描述
2006/09/08 Javascript
javascript document.referrer 用法
2009/04/30 Javascript
jquery 元素相对定位代码
2010/10/15 Javascript
突发奇想的一个jquery插件
2010/11/19 Javascript
JS检测图片大小的实例
2013/08/21 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
javascript常用函数(2)
2015/11/05 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
2016/05/20 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
新手快速入门微信小程序组件库 iView Weapp
2019/06/24 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
2020/08/27 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
基于python3 的百度图片下载器的实现代码
2019/11/05 Python
wxPython色环电阻计算器
2019/11/18 Python
python实现图片素描效果
2020/09/26 Python
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
英国玛莎百货澳大利亚:Marks & Spencer Australia
2019/08/30 全球购物
数字漫画:comiXology
2020/06/13 全球购物
开学寄语大全
2014/04/08 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
单位授权委托书范文
2014/08/02 职场文书
推广普通话共筑中国梦演讲稿
2014/09/21 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
教师节联欢会主持词
2015/07/04 职场文书
详解Spring Security如何在权限中使用通配符
2022/06/28 Java/Android