我想绘制一个二维数据图,其中的值是由双线性插值确定的。作为初步测试,我决定只使用维基百科页面上的示例:

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双线性插值等值线图相关推荐

  1. Python绘制图像(Matplotlib)(Ⅵ)

    import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np 函数subplot()的使用 def no1() ...

  2. python绘制花朵图案_Python实现平行坐标图的绘制(plotly)方式

    平行坐标图简介 当数据的维度超过三维时,此时数据的可视化就变得不再那么简单.为解决高维数据的可视化问题,我们可以使用平行坐标图.以下关于平行坐标图的解释引自百度百科:为了克服传统的笛卡尔直角坐标系容易 ...

  3. python 等值线图_python – matplotlib等值线图:对数刻度的比例色度级

    我建议生成一个伪色条如下(见解释说明): import matplotlib.pyplot as plt import numpy as np from matplotlib.colors impor ...

  4. python颜色表_Python+matplotlib绘制不同大小和颜色散点图实例

    具有不同标记颜色和大小的散点图演示. 演示结果: 实现代码: import numpy as np import matplotlib.pyplot as plt import matplotlib. ...

  5. python动态柱状图_Python+matplotlib绘制动态更新的柱状图

    Python+matplotlib绘制极坐标柱状图(南丁格尔玫瑰图) Python使用折线图.柱状图.热力图比较不同班级相同学号学生的成绩 问题描述:有些学校的学号最后两位是根据入学成绩顺序排的,那么 ...

  6. python不同颜色散点图_Python+matplotlib绘制不同大小和颜色散点图实例

    具有不同标记颜色和大小的散点图演示. 演示结果: 实现代码: import numpy as np import matplotlib.pyplot as plt import matplotlib. ...

  7. python画极坐标图_Python matplotlib绘制极坐标图

    极坐标图在数据统计和分析中也经常会用到,这里就介绍一下如何使用Python来绘制极坐标图,主要介绍极坐标散点图和极坐标饼状图. 1.极坐标散点图 N = 150 r = 2 * np.random.r ...

  8. python画箭头_Python matplotlib绘制图形,包括点、曲线、注释和箭头

    Python的matplotlib模块绘制图形功能很强大,今天就用pyplot绘制一个简单的图形,图形中包括曲线.曲线上的点.注释和指向点的箭头. 1. 结果预览: 2. 代码如下: from mat ...

  9. python三维散点图_Python Matplotlib实现三维数据的散点图绘制

    一.背景 近期项目即将开展,计划第一步就是实现数据的可视化,所以先学习一下数据展示相关Demo.选用Python2.7与Matplotlib来实现,平台采用Pycharm,值得一提的是,Matplot ...

最新文章

  1. 咏南LINUX中间件
  2. jQuery 通用表单方法
  3. w3wp trace文件Debug
  4. 搭建Maven私服那点事
  5. gulp插件gulp-ruby-sass和livereload插件
  6. 谈谈苹果应用内支付(IAP)的坑
  7. python-day3
  8. 计算机思维与数学思维的本质区别
  9. I_LIKE_CPP 多特游戏下载
  10. 男人在35岁之前最好的投资
  11. 安卓电视硬件测试软件,据说这是2017 最好用的智能电视软件!
  12. 我的Java秋招面经大合集
  13. Win10设置定时关机命令简单介绍
  14. JAVA栅栏密码解密程序
  15. 二维码生成代码(转载)
  16. 音视频基础之YUV格式
  17. 苹果iphone公交卡支持哪些城市(详细)
  18. Vue背景图片去白边
  19. ClickHouse快速安装-可视化工具连接-创建第一个ck库表(一)
  20. 单点故障--名词解释

热门文章

  1. 一篇文章带你搞懂微信小程序的开发过程
  2. Pygame详解(二):display 模块
  3. 【数据可视化工具DataEase】如何修改内置 MySQL 容器名
  4. 生成百度网盘文件目录_艾孜尔江撰稿
  5. 地鼠宝宝的轶事奇闻之线程模型
  6. 关不掉,新版微信这功能引用户怨声载道...
  7. 为什么不能在BroadcastReceiver中开启子线程
  8. 【零基础QQ机器人开发二】服务器篇
  9. 新手如何使用Cheat Engine (CE) 来修改“我的世界“?
  10. 组织技术部的需求评审会