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中type的构造函数参数含义说明
Jun 21 Python
Pthon批量处理将pdb文件生成dssp文件
Jun 21 Python
python基于ID3思想的决策树
Jan 03 Python
python实现批量解析邮件并下载附件
Jun 19 Python
解决pyinstaller打包pyqt5的问题
Jan 08 Python
Python终端输出彩色字符方法详解
Feb 11 Python
Python 实现日志同时输出到屏幕和文件
Feb 19 Python
超全Python图像处理讲解(多模块实现)
Apr 13 Python
如何通过Python3和ssl实现加密通信功能
May 09 Python
python基于socket模拟实现ssh远程执行命令
Dec 05 Python
详解Java中一维、二维数组在内存中的结构
Feb 11 Python
python爬虫如何解决图片验证码
Feb 14 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 curl获取301或302转向的网址问题的解决方法
2011/06/02 PHP
PHP原生模板引擎 最简单的模板引擎
2012/04/25 PHP
PHP读取PDF内容配合Xpdf的使用
2012/11/24 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
javascript实现二分查找法实现代码
2007/11/12 Javascript
jquery load()在firefox(火狐)下显示不正常的解决方法
2011/04/05 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
nodejs中使用多线程编程的方法实例
2015/03/24 NodeJs
jQuery实现html元素拖拽
2015/07/21 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
Node.js Express 框架 POST方法详解
2017/01/23 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
vue项目实现github在线预览功能
2018/06/20 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
Python中给List添加元素的4种方法分享
2014/11/28 Python
Python实现的选择排序算法示例
2017/11/29 Python
详解python string类型 bytes类型 bytearray类型
2017/12/16 Python
python生成带有表格的图片实例
2019/02/03 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
.dcm格式文件软件读取及python处理详解
2020/01/16 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
python3检查字典传入函数键是否齐全的实例
2020/06/05 Python
Python开发入门——迭代的基本使用
2020/09/03 Python
Python Tkinter实例——模拟掷骰子
2020/10/24 Python
python爬取抖音视频的实例分析
2021/01/19 Python
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
幼儿园国庆节活动方案
2014/02/01 职场文书
个人租房协议书样本
2014/10/01 职场文书
JDBC连接的六步实例代码(与mysql连接)
2021/05/12 MySQL
详解Python requests模块
2021/06/21 Python