用python建立两个Y轴的XY曲线图方法


Posted in Python onJuly 08, 2019

想把python提取出来的 加载点反力和某个单元的应力画在同一个XY曲线图上,由于两者数量级差太远,故而需要建立有两个Y轴的XY曲线图。

效果为:

代码如下:

#创建Quatype,作为标记,用于判断是否需要创建多条Y轴(或X轴)
#label 会变成默认的坐标轴名  type 是一个枚举,“type”相同的合并成同一个轴
Quatype1=xyPlot.QuantityType(label='应力' , type=STRESS)
Quatype2=xyPlot.QuantityType(label='荷载' , type=FORCE)
Quatype3=xyPlot.QuantityType(label='时间' , type=TIME)
# 从第一个文件中提取数据
fileName1='D:\\SaveDataTest\\Load-Time.txt'
file = open(fileName1)
lines = file.readlines()
file.close()
pxy = lines[0].split(',')
pxy = [x.strip() for x in pxy]
plotName, xAxisTitle, yAxisTitle = pxy
data = []
for line in lines[1:]:
	line=line.replace('\t' , ',')
	data.append(eval(line))
 
# 创建 XYData object ,使用关键字 axis1QuantityType 和 axis2QuantityType
xyData1 = session.XYData(name='cv1', data=data, contentDescription=fileName1,
			axis1QuantityType=Quatype3, axis2QuantityType=Quatype2)
#创建第一个 Curve
curve1 = session.Curve(xyData1)
# 从第二个文件中提取数据
fileName2='D:\\SaveDataTest\\RF-Mises-Time-N01.txt'
file = open(fileName2)
lines = file.readlines()
file.close()
pxy = lines[0].split(',')
pxy = [x.strip() for x in pxy]
plotName, xAxisTitle, yAxisTitle = pxy
while plotName in session.xyPlots.keys():
	plotName=plotName+'-1'
 
data = []
for line in lines[1:]:
	line=line.replace('\t' , ',')
	data.append(eval(line))
 
# 创建 XYData object,使用关键字 axis1QuantityType 和 axis2QuantityType
xyData2 = session.XYData(name='cv2', data=data, contentDescription=fileName2,
			axis1QuantityType=Quatype3, axis2QuantityType=Quatype1)
#创建第二个 Curve
curve2 = session.Curve(xyData2)
#创建XY图
xyList=[xyData1,xyData2,]#创建XY数据列表
curveList = session.curveSet(xyData=xyList)
xyPlot = session.XYPlot(plotName) #建立曲线
chart = xyPlot.charts.values()[0] #chart 为最新建立的chart
chart.setValues(curvesToPlot=curveList) #建立曲线 X轴 Y轴

用于提取数据的两个文件,内容如下:

Load-Time.txt

用python建立两个Y轴的XY曲线图方法

RF-Mises-Time-N01.txt

用python建立两个Y轴的XY曲线图方法

以上这篇用python建立两个Y轴的XY曲线图方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python自动化部署工具Fabric的简单上手指南
Apr 19 Python
django使用LDAP验证的方法示例
Dec 10 Python
pycharm的console输入实现换行的方法
Jan 16 Python
Python3实现的判断环形链表算法示例
Mar 07 Python
django 使用全局搜索功能的实例详解
Jul 18 Python
Pycharm 字体大小调整设置的方法实现
Sep 27 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
Dec 12 Python
python的flask框架难学吗
Jul 31 Python
Python实现上下文管理器的方法
Aug 07 Python
使用Django的JsonResponse返回数据的实现
Jan 15 Python
Pytorch GPU内存占用很高,但是利用率很低如何解决
Jun 01 Python
python如何将mat文件转为png
Jul 15 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
Jul 08 #Python
简单了解python的内存管理机制
Jul 08 #Python
python用for循环求和的方法总结
Jul 08 #Python
python面试题之列表声明实例分析
Jul 08 #Python
python 一个figure上显示多个图像的实例
Jul 08 #Python
Python3实现汉语转换为汉语拼音
Jul 08 #Python
python如何爬取网站数据并进行数据可视化
Jul 08 #Python
You might like
wamp下修改mysql访问密码的解决方法
2013/05/07 PHP
destoon二次开发常用数据库操作
2014/06/21 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
聊聊 PHP 8 新特性 Attributes
2020/08/19 PHP
jquery tools之tooltip
2009/07/25 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
七个不允许错过的jQuery小技巧
2015/12/21 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
JavaScript九九乘法口诀表的简单实现
2016/10/04 Javascript
小程序开发实战:实现九宫格界面的导航的代码实现
2017/01/19 Javascript
详解vue.js之props传递参数
2017/12/12 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
vue实现路由切换改变title功能
2019/05/28 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
2020/09/14 Javascript
使用C语言扩展Python程序的简单入门指引
2015/04/14 Python
python 调用HBase的简单实例
2016/12/18 Python
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
python中eval与int的区别浅析
2019/08/11 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
你的自行车健身专家:FaFit24
2016/11/16 全球购物
工程概预算专业毕业生求职信
2013/10/04 职场文书
大学军训感言
2014/01/10 职场文书
新员工试用期自我鉴定
2014/04/17 职场文书
农村党员一句话承诺
2014/05/30 职场文书
环保口号大全
2014/06/12 职场文书
镇创先争优活动总结
2014/08/28 职场文书
2014教育局对照检查材料思想汇报
2014/09/23 职场文书
八项规定个人对照检查材料思想汇报
2014/09/25 职场文书
美术教师求职信范文
2015/03/20 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
入党培养人考察意见
2015/06/08 职场文书
vue+element ui实现锚点定位
2021/06/29 Vue.js