python绘制等值线图_Python/Matplotlib双线性插值等值线图
我想绘制一个二维数据图,其中的值是由双线性插值确定的。作为初步测试,我决定只使用维基百科页面上的示例:
http://en.wikipedia.org/wiki/File:Bilininterp.png
但是,一般来说,我需要这种方法来处理任何一组数据,所以一个只适用于这种特殊情况的解决方案是没有用的。下面的数据中有一个稍微复杂的例子,注释为“另一个例子”。在
以下是我迄今为止所做的几次尝试,并有评论提到了它为什么不起作用:import matplotlib
import numpy as np
import matplotlib.cm as cm
import matplotlib.pyplot as plt
from scipy.interpolate import griddata
# http://en.wikipedia.org/wiki/File:Bilininterp.png
xi = np.array([0.0, 1.0])
yi = np.array([0.0, 1.0])
zi = np.array([[0.0, 1.0], [1.0, 0.5]])
# Another example
#xi = np.array([0.0, 0.25, 1.0])
#yi = np.array([0.0, 0.75, 1.0])
#zi = np.array([[0.0, 0.5, 1.0], [0.5, 0.7, 0.5], [1.0, 1.0, 1.0]])
# I want 20 "levels" to be shown
contour_breaks = 20
ticks = np.linspace(zi.min(), zi.max(), contour_breaks, endpoint=True)
# Attempt #1 (contour does not use bilinear interpolation)
fig = plt.figure()
axes = fig.add_subplot(111, aspect='equal')
axes.contour(xi, yi, zi, ticks[1:-1], colors='k')
fill = axes.contourf(xi, yi, zi, ticks, cmap=cm.jet)
fig.colorbar(fill, ticks=ticks)
# Attempt 2 (colors are weird for imshow -- they don't seem to be jet. I can't
# make it use ticks to make constant color zones/levels. The contour
# lines are the same as before (no bilinear). Also, you cannot input
# xi and yi, so the data would have to be interpolated to a regular
# grid - see the second set of example data above for an example
# where the data isn't regularly spaced)
fig = plt.figure()
axes = fig.add_subplot(111, aspect='equal')
axes.contour(xi, yi, zi, ticks[1:-1], colors='k')
fill = axes.imshow(zi, interpolation='bilinear', cmap=cm.jet,
extent=(0.,1.,0.,1.))
fig.colorbar(fill, ticks=ticks)
# Attempt 3 (griddata doens't do bilinear interpolation)
fig = plt.figure()
axes = fig.add_subplot(111, aspect='equal')
xi1, yi1 = np.meshgrid(xi, yi)
xi1 = xi1.flatten()
yi1 = yi1.flatten()
zi1 = zi.flatten()
xi2 = np.linspace(0., 1., 100)
yi2 = np.linspace(0., 1., 100)
zi2 = griddata((xi1, yi1), zi1, (xi2[None,:], yi2[:,None]), method='linear')
axes.contour(xi2, yi2, zi2, ticks[1:-1], colors='k')
fill = axes.contourf(xi2, yi2, zi2, ticks, cmap=cm.jet)
fig.colorbar(fill, ticks=ticks)
# Show the plots
plt.show()
python绘制等值线图_Python/Matplotlib双线性插值等值线图相关推荐
- Python绘制图像(Matplotlib)(Ⅵ)
import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np 函数subplot()的使用 def no1() ...
- python绘制花朵图案_Python实现平行坐标图的绘制(plotly)方式
平行坐标图简介 当数据的维度超过三维时,此时数据的可视化就变得不再那么简单.为解决高维数据的可视化问题,我们可以使用平行坐标图.以下关于平行坐标图的解释引自百度百科:为了克服传统的笛卡尔直角坐标系容易 ...
- python 等值线图_python – matplotlib等值线图:对数刻度的比例色度级
我建议生成一个伪色条如下(见解释说明): import matplotlib.pyplot as plt import numpy as np from matplotlib.colors impor ...
- python颜色表_Python+matplotlib绘制不同大小和颜色散点图实例
具有不同标记颜色和大小的散点图演示. 演示结果: 实现代码: import numpy as np import matplotlib.pyplot as plt import matplotlib. ...
- python动态柱状图_Python+matplotlib绘制动态更新的柱状图
Python+matplotlib绘制极坐标柱状图(南丁格尔玫瑰图) Python使用折线图.柱状图.热力图比较不同班级相同学号学生的成绩 问题描述:有些学校的学号最后两位是根据入学成绩顺序排的,那么 ...
- python不同颜色散点图_Python+matplotlib绘制不同大小和颜色散点图实例
具有不同标记颜色和大小的散点图演示. 演示结果: 实现代码: import numpy as np import matplotlib.pyplot as plt import matplotlib. ...
- python画极坐标图_Python matplotlib绘制极坐标图
极坐标图在数据统计和分析中也经常会用到,这里就介绍一下如何使用Python来绘制极坐标图,主要介绍极坐标散点图和极坐标饼状图. 1.极坐标散点图 N = 150 r = 2 * np.random.r ...
- python画箭头_Python matplotlib绘制图形,包括点、曲线、注释和箭头
Python的matplotlib模块绘制图形功能很强大,今天就用pyplot绘制一个简单的图形,图形中包括曲线.曲线上的点.注释和指向点的箭头. 1. 结果预览: 2. 代码如下: from mat ...
- python三维散点图_Python Matplotlib实现三维数据的散点图绘制
一.背景 近期项目即将开展,计划第一步就是实现数据的可视化,所以先学习一下数据展示相关Demo.选用Python2.7与Matplotlib来实现,平台采用Pycharm,值得一提的是,Matplot ...
最新文章
- 咏南LINUX中间件
- jQuery 通用表单方法
- w3wp trace文件Debug
- 搭建Maven私服那点事
- gulp插件gulp-ruby-sass和livereload插件
- 谈谈苹果应用内支付(IAP)的坑
- python-day3
- 计算机思维与数学思维的本质区别
- I_LIKE_CPP 多特游戏下载
- 男人在35岁之前最好的投资
- 安卓电视硬件测试软件,据说这是2017 最好用的智能电视软件!
- 我的Java秋招面经大合集
- Win10设置定时关机命令简单介绍
- JAVA栅栏密码解密程序
- 二维码生成代码(转载)
- 音视频基础之YUV格式
- 苹果iphone公交卡支持哪些城市(详细)
- Vue背景图片去白边
- ClickHouse快速安装-可视化工具连接-创建第一个ck库表(一)
- 单点故障--名词解释
热门文章
- 一篇文章带你搞懂微信小程序的开发过程
- Pygame详解(二):display 模块
- 【数据可视化工具DataEase】如何修改内置 MySQL 容器名
- 生成百度网盘文件目录_艾孜尔江撰稿
- 地鼠宝宝的轶事奇闻之线程模型
- 关不掉,新版微信这功能引用户怨声载道...
- 为什么不能在BroadcastReceiver中开启子线程
- 【零基础QQ机器人开发二】服务器篇
- 新手如何使用Cheat Engine (CE) 来修改“我的世界“?
- 组织技术部的需求评审会