python定制后处理云图
用后处理软件处理的云图会出现这样或那样的不满意,其实我们可以将求解数据导出以后,借助python定制云图。
我们以fluent为例
求解完成之后,我们将我们需要做云图的物理量以ASCII导出



如下的python脚本
代码如下:
# -*- coding: utf-8 -*-
import numpy as np
import csv
import matplotlib.pyplot as plt
from scipy.interpolate import griddata
#==============================
#该段代码来支持在图片中显示中文
#==============================
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus']=False
#保存x坐标
x=[]
#保存y坐标
y=[]
#保存导出的速度
velocity=[]
#读取csv文件,当然也可以读取类似txt之类的文件
with open(r'/home/dell/new/contour/new','r') as csvfile:
#指定分隔符为",",因为我们刚才导出时就是逗号
plots=csv.reader(csvfile,delimiter=',')
#循环读取到的文件
for row in plots:
#为了跳过文件前面的非数据行
if plots.line_num == 1:
continue
x.append(float(row[1]))
y.append(float(row[2]))
velocity.append(float(row[3]))
#如果数值过小,则视为0,防止出现非数的情况
y[y<1e-10]=0
xi=np.linspace(min(x),max(x),10000)
yi=np.linspace(min(y),max(y),10000)
#x,y坐标必须维数一致,且为二维
[X,Y]=np.meshgrid(xi,yi)
#对x,y的速度进行插值,插值的方法有'cubic','linear','nearest'
#注意传入的坐标参数需要以元组的形式成对传入
#当然matplotlib也自带griddata插值函数,该函数每个坐标是一个参数
#但matplotlib自带的griddata插值函数只能使用默认的linear插值
# Velocity=griddata((x,y),velocity,(X,Y),method='cubic')
# Velocity=griddata((x,y),velocity,(X,Y),method='nearest')
Velocity=griddata((x,y),velocity,(X,Y),method='linear')
#画出云图
#20为几条等值线,alpha为透明度,cmap对应的色彩风格
im=plt.contourf(X,Y,Velocity,20,alpha=0.75,cmap=plt.cm.jet)
#画出等值线
#color为等值线的颜色,linewidth为等值线的宽度
isoline=plt.contour(X,Y,Velocity,20,color='black',linewidth=0.1)
#在等值线上标上对应的数值
#inline表示是否将数值标在等值线上,fontsize为等值线上数值的字体的大小
plt.clabel(isoline,inline=True,fontsize=10)
#输出云图的legend
#orientation表示legend的位置,默认值为vertical,横置为horizontal
cbar=plt.colorbar(im, orientation='vertical', shrink=0.8)
#设置legend的标题
cbar.set_label('m/s')
#设置legend的范围
cbar.set_ticks(np.linspace(0,0.114,10))
#云图的标题
plt.title(u"速度云图")
#显示云图
plt.show()

python定制后处理云图的更多相关文章
- 使用Python定制词云
一.实验介绍 1.1 实验内容 在互联网时代,人们获取信息的途径多种多样,大量的信息涌入到人们的视线中.如何从浩如烟海的信息中提炼出关键信息,滤除垃圾信息,一直是现代人关注的问题.在这个信息爆炸的时代 ...
- Python定制类(进阶6)
转载请标明出处: http://www.cnblogs.com/why168888/p/6411919.html 本文出自:[Edwin博客园] Python定制类(进阶6) 1. python中什么 ...
- python定制类(1):__getitem__和slice切片
python定制类(1):__getitem__和slice切片 1.__getitem__的简单用法: 当一个类中定义了__getitem__方法,那么它的实例对象便拥有了通过下标来索引的能力. c ...
- 520,用Python定制你的《本草纲目女孩》
摘要:让我们来用Python定制出心仪的"本草纲目女孩",敲出魔性的代码舞蹈,520,准备好心仪女孩的舞蹈视频,把这份别出心裁的礼物给TA 本文分享自华为云社区<[云驻共创] ...
- python 数据分析--词云图,图形可视化美国竞选辩论
这篇博客从用python实现分析数据的一个完整过程.以下着重几个python的moudle的运用"pandas",""wordcloud"," ...
- python 定制类
看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的. __slots__我们已经知道怎么用了,__len__()方法我们也知道是为了能让cla ...
- Python - 定制pattern的string模板(template) 具体解释
定制pattern的string模板(template) 具体解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/28625179 ...
- V-Charts中使用extend属性定制词云图
[本文出自天外归云的博客园] 简介 在Vue中使用E-Charts可以用V-Charts,词云图在V-Charts官网中介绍比较简单,如果想更多定制的话,官网上说要在extend属性中进行扩展. V- ...
- 词云wordcloud类介绍&python制作词云图&词云图乱码问题等小坑
词云图,大家一定见过,大数据时代大家经常见,我们今天就来用python的第三方库wordcloud,来制作一个大数据词云图,同时会降到这个过程中遇到的各种坑, 举个例子,下面是我从自己的微信上抓的微信 ...
随机推荐
- iOS - 静态库的导入和头文件路径的设置
开发过程中,免不了要用到一些第三方或者是别人写好的一些Demo,这时就经常会用到别人写的一些静态库(.a文件)和n多个头文件(.h文件),这些文件不是简单地把它们拉到自己的工程里面就行的,还要设置一些 ...
- JS权威指南读书笔记(六)
第十五章 脚本化文档 1 文档对象模型(DOM)是表示和操作HTML和XML文档内容的基础API. 2 文档节点的部分层次结构 Text和CDATASection都是characterData的子 ...
- 解决此报错:Cannot create Woodstox XMLInputFactory: java.lang.NoClassDefFoundError: com/ctc/wstx/stax/WstxInput
最近在研究webservice服务的技术,可是写完webservice例子后,项目正常启动,但是在输入url地址后报如下的错误: Cannot create Woodstox XMLInputFact ...
- iOS pushViewController 和 presentViewController的区别 详解
pushViewController 导航控制器入栈的方式切换页面presentViewController 模态切换的方式切换页面 1:用 UINavigationController 的时候用 p ...
- iOS ANE植入流程
来源:http://www.adsmogo.com/help/iosANE 一.iOS ANE植入流程 Step 1:创建Flex工程 1.1 启动Flash Builder 4.6.0, 选择“Fi ...
- orangepi自启动打开一个终端并且运行脚本
第一步: 在 /home/pi/.config 下创建一个文件夹,名称为 autostart,如果已经存在则不需要创建 第二步: 在autostart文件夹中创建桌面启动项文件,(文件名以 .desk ...
- el-pagination分页优化
表格分页优化: <template> <el-pagination small background @size-change="handleSizeChange" ...
- iptables-1基本知识和工作原理
一.简介1.iptables的定义:防火墙分为硬件防火墙和软件防火墙.iptables是软件防火墙,工作在OSI的第三.四层,是从操作系统层面对网络流量进行监控和防护.延伸:(1)Linux系统内核集 ...
- MySQL DataType--日期格式
在MySQL中,无论是字符串转换为时间还是时间转换为字符串,都需要使用到时间格式: %a 缩写星期名 %b 缩写月名 %c 月,数值 %D 带有英文前缀的月中的天 %d 月的天,数值(00-31) % ...
- 听说你知道什么是锁 --JAVA
I.java中的锁 1.1 什么是锁 在计算机科学中,锁(lock)与互斥(mutex)是一种同步机制,用于在许多线程执行时对资源的限制. 锁通常需要硬件支持才可以有效实施.这种支持通常采用一 ...