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在windows下创建隐藏窗口子进程的方法
Jun 04 Python
Python中将字典转换为XML以及相关的命名空间解析
Oct 15 Python
使用PyCharm配合部署Python的Django框架的配置纪实
Nov 19 Python
Python计算两个日期相差天数的方法示例
May 23 Python
在PyCharm导航区中打开多个Project的关闭方法
Jan 17 Python
对dataframe数据之间求补集的实例详解
Jan 30 Python
Python 3.8中实现functools.cached_property功能
May 29 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
Jul 23 Python
Python中实现输入一个整数的案例
May 03 Python
详解Flask前后端分离项目案例
Jul 24 Python
Python类class参数self原理解析
Nov 19 Python
pytorch 使用半精度模型部署的操作
May 24 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图片上传代码
2013/11/04 PHP
php curl_init函数用法
2014/01/31 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
php 多个变量指向同一个引用($b = &$a)用法分析
2019/11/13 PHP
JQuery为textarea添加maxlength属性的代码
2010/04/07 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
2015/12/17 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
python模拟登陆Tom邮箱示例分享
2014/01/13 Python
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
django中的HTML控件及参数传递方法
2018/03/20 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
2020/12/07 Python
linux面试题参考答案(10)
2016/10/26 面试题
中专生自荐信
2013/10/12 职场文书
汽车促销活动方案
2014/03/31 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
绵山导游词
2015/02/05 职场文书
公司前台接待岗位职责
2015/04/03 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript