我在使用Matplotlib的箭袋情节时遇到了一些问题.给定速度矢量场,我想在流线上绘制速度矢量.矢量与预期的流函数不相切.

为了计算流函数,我使用了Pankratov博士的Matlab代码的Python翻译版本,可在http://www-pord.ucsd.edu/~matlab/stream.htm获得(我的很快将在GitHub上提供).

使用其结果,我使用此代码:

import numpy

import pylab

# Regular grid coordineates, velocity field and stream function

x, y = numpy.meshgrid(numpy.arange(0, 21), numpy.arange(0, 11))

u = numpy.array([[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,

27, 28, 29, 30],

[ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,

26, 27, 28, 29],

[ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,

25, 26, 27, 28],

[ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,

24, 25, 26, 27],

[ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,

23, 24, 25, 26],

[ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,

22, 23, 24, 25],

[ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,

21, 22, 23, 24],

[ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,

20, 21, 22, 23],

[ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,

19, 20, 21, 22],

[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,

18, 19, 20, 21],

[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,

17, 18, 19, 20]])

v = numpy.array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,

13, 14, 15, 16, 17, 18, 19, 20],

[ -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,

12, 13, 14, 15, 16, 17, 18, 19],

[ -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,

11, 12, 13, 14, 15, 16, 17, 18],

[ -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,

10, 11, 12, 13, 14, 15, 16, 17],

[ -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8,

9, 10, 11, 12, 13, 14, 15, 16],

[ -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7,

8, 9, 10, 11, 12, 13, 14, 15],

[ -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6,

7, 8, 9, 10, 11, 12, 13, 14],

[ -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5,

6, 7, 8, 9, 10, 11, 12, 13],

[ -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4,

5, 6, 7, 8, 9, 10, 11, 12],

[ -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3,

4, 5, 6, 7, 8, 9, 10, 11],

[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2,

3, 4, 5, 6, 7, 8, 9, 10]])

psi = numpy.array([[ 0. , 0.5, 2. , 4.5, 8. , 12.5, 18. , 24.5,

32. , 40.5, 50. , 60.5, 72. , 84.5, 98. , 112.5,

128. , 144.5, 162. , 180.5, 200. ],

[ -9.5, -10. , -9.5, -8. , -5.5, -2. , 2.5, 8. ,

14.5, 22. , 30.5, 40. , 50.5, 62. , 74.5, 88. ,

102.5, 118. , 134.5, 152. , 170.5],

[ -18. , -19.5, -20. , -19.5, -18. , -15.5, -12. , -7.5,

-2. , 4.5, 12. , 20.5, 30. , 40.5, 52. , 64.5,

78. , 92.5, 108. , 124.5, 142. ],

[ -25.5, -28. , -29.5, -30. , -29.5, -28. , -25.5, -22. ,

-17.5, -12. , -5.5, 2. , 10.5, 20. , 30.5, 42. ,

54.5, 68. , 82.5, 98. , 114.5],

[ -32. , -35.5, -38. , -39.5, -40. , -39.5, -38. , -35.5,

-32. , -27.5, -22. , -15.5, -8. , 0.5, 10. , 20.5,

32. , 44.5, 58. , 72.5, 88. ],

[ -37.5, -42. , -45.5, -48. , -49.5, -50. , -49.5, -48. ,

-45.5, -42. , -37.5, -32. , -25.5, -18. , -9.5, 0. ,

10.5, 22. , 34.5, 48. , 62.5],

[ -42. , -47.5, -52. , -55.5, -58. , -59.5, -60. , -59.5,

-58. , -55.5, -52. , -47.5, -42. , -35.5, -28. , -19.5,

-10. , 0.5, 12. , 24.5, 38. ],

[ -45.5, -52. , -57.5, -62. , -65.5, -68. , -69.5, -70. ,

-69.5, -68. , -65.5, -62. , -57.5, -52. , -45.5, -38. ,

-29.5, -20. , -9.5, 2. , 14.5],

[ -48. , -55.5, -62. , -67.5, -72. , -75.5, -78. , -79.5,

-80. , -79.5, -78. , -75.5, -72. , -67.5, -62. , -55.5,

-48. , -39.5, -30. , -19.5, -8. ],

[ -49.5, -58. , -65.5, -72. , -77.5, -82. , -85.5, -88. ,

-89.5, -90. , -89.5, -88. , -85.5, -82. , -77.5, -72. ,

-65.5, -58. , -49.5, -40. , -29.5],

[ -50. , -59.5, -68. , -75.5, -82. , -87.5, -92. , -95.5,

-98. , -99.5, -100. , -99.5, -98. , -95.5, -92. , -87.5,

-82. , -75.5, -68. , -59.5, -50. ]])

# The plots!

pylab.close('all')

pylab.ion()

pylab.figure(figsize=[8, 8])

pylab.contour(x, y, psi, 20, colors='k', linestyles='-', linewidth=1.0)

pylab.quiver(x, y, u, v, angles='uv', scale_units='xy', scale=10)

ax = pylab.axes()

ax.set_aspect(1.)

产生以下结果来说明我的问题.

显然计算很好,但速度矢量与流函数不相符,正如预期的那样.使用精确的保存值,Matlab会生成一个箭头图,可以准确显示我想要的内容.在我的例子中,将宽高比设置为1可以得到所需的结果,但强制轴矩形具有特定的宽高比.

ax = pylab.axes()

ax.set_aspect(1.)

我已经尝试过不同的参数,比如’单位’,’角度’或’比例’.

是否有人知道如何制作适应画布宽高比并且仍然与我的轮廓线相切的箭头图,如预期的那样?

我期望得到与此类似的结果(注意向量如何与流线相切):

非常感谢!

python箭头图_python – 箭头图箭头长宽比相关推荐

  1. python画代码-Python教程_Python画Mandelbrot集 代码

    Python教程_Python画Mandelbrot集 代码 作者:Comet 来源: 课课家 www.kokojia.com点击数:278发布时间:2015-06-19 11:17:19 曼德勃罗集 ...

  2. c语言实现爬虫功能,用C/C 扩展Python语言_python 调用c语言 python实现简单爬虫功能_python实现简单爬虫...

    用C/C 扩展Python语言 Python是一门功能强大的脚本语言,它的强大不仅表现在功能上,还表现在其扩展性上.她提供大量的API以方便程序员利用C/C++对Python进行扩展.因为执行速度慢几 ...

  3. python编程语言_python编程语言的简要历史

    python编程语言 The Python programming language is a general-purpose programming language that has carved ...

  4. 2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?

    2019最新Python学习教程(Python视频教程_Python学习教程_Python学习路线):你心目中编程界的MVP是谁?编程界的王者是渐落寞的Java还是大火的Python? 是不是你们也喜 ...

  5. python 缩放图片_python实现按长宽比缩放图片

    使用python按图片固定长宽比缩放图片到指定图片大小,空白部分填充为黑色. 代码 # -*- coding: utf-8 -*- from pil import image class image_ ...

  6. python调整屏幕缩放比例_python实现按长宽比缩放图片 python的turtle怎样缩放界面吧...

    python中如何控制GUI界面等比例缩放 root = Tk() # 创建 GUI 主程序 root.geometry('800x800+0+0')#设置界面欢迎来到四十五资源网: 你可以使用网格布 ...

  7. python箭头符号怎么打_python – 用箭头标记matplotlib直方图bin

    您可以使用注释添加箭头: import pandas as pd import matplotlib.pyplot as plt #import seaborn as sns import numpy ...

  8. python可视化水平双向箭头_python数据可视化第二弹

    代码模板: 最前面 importpandas as pd pd.plotting.register_matplotlib_converters()importmatplotlib.pyplot as ...

  9. python将图片原比例缩小_Python实现图片长宽比例缩放和填充

    1 ''' 2 : 一个缩略图程序, 不需要的部分可以去掉3 : 主要实现了尺寸(长宽)和大小(KB)的缩小4 ''' 5 importcv26 importos.path7 from PIL imp ...

最新文章

  1. cds.data:=dsp.data赋值有时会出现AV错误剖析
  2. pytorch1.0.1_将Spring 3.x和Hibernate 3.x升级到Spring Platform 1.0.1(Spring + hibernate 4.x)
  3. 逆向建模软件介绍_逆向技术在2代机修理中的应用
  4. 图像种类的基本概念整理
  5. python统计图像直方图_计算机视觉7-像素点直方图统计、掩膜图像
  6. uniapp使用iconfont字体图标
  7. 前端居中模板(常用HTML模板)
  8. 随记:Ubuntu12.04下关闭图形界面的相关问题
  9. 贺利坚老师汇编课程48笔记:转移指令如jcxz
  10. java future 返回值_Java--Callable与返回值future
  11. PHP逆波兰表达式的算法
  12. 【Makefile】Makefile编写规则
  13. 人体体态识别数据集、论文
  14. 分享积分兑换小程序开发制作功能介绍
  15. WebGIS期末复习
  16. 【干货分享】前端面试知识点锦集01(HTML+CSS篇)—— 附答案
  17. 计算机可以存储人类记忆吗,人类大脑究竟可以容纳多少东西?可以记住多少信息?...
  18. 新东方雅思词汇(List 36 ~ List 40)
  19. 大数据“偏见”会让我们变蠢吗
  20. 议程公布!2021年MongoDB中文社区杭州大会

热门文章

  1. 计算机应用软件范畴,会计核算软件属于计算机应用软件的范畴。()
  2. 名画12 梁令瓒《星宿图》
  3. beautySmallHuangStation 美女小站来啦
  4. 计算机系统硬盘拷贝,怎么复制磁盘 硬盘复制克隆完整教程
  5. 后台登陆防刷、防爆破以及正常的登录校验
  6. 大容量存储方案_精细化存储分层,西部数据赋能多场景解决方案
  7. STM32循迹避障小车制作代码详解(简单实现版)
  8. 第2课pygame使用精灵
  9. mysql authentication_MySQL Authentication Failed问题分析与解决对策
  10. 如何使用ChatGPT快速构建一个网站模板?