当前位置: 首页 > 编程笔记 >

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

封景曜
2023-03-14
本文向大家介绍用python建立两个Y轴的XY曲线图方法,包括了用python建立两个Y轴的XY曲线图方法的使用技巧和注意事项,需要的朋友参考一下

想把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

RF-Mises-Time-N01.txt

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

 类似资料:
  • 通过使用matplotlib,我想绘制随时间变化的训练精度、验证精度、训练误差和验证误差。x轴是所有曲线的迭代次数。我想为精度值保留左x轴,为损耗值保留右y轴,然后在同一个图上绘制所有四个。 为了做到这一点,我尝试了几件事,最后我没有达到我想要的程度。 有人能帮我吗? 我的代码(没有按我的要求工作): 我想这样做(但我没有3条曲线,而是4条曲线)(我从这里拍摄图像:https://datascie

  • 本文向大家介绍python绘制双Y轴折线图以及单Y轴双变量柱状图的实例,包括了python绘制双Y轴折线图以及单Y轴双变量柱状图的实例的使用技巧和注意事项,需要的朋友参考一下 近来实验室的师姐要发论文,由于论文交稿时间临近,有一些杂活儿需要处理,作为实验室资历最浅的一批,我这个实习生也就责无旁贷地帮忙当个下手。今天师姐派了一个小活,具体要求是: 给一些训练模型的迭代次数,训练精度的数据,让我做成图

  • Highcharts 曲线图 以下实例演示了 X 轴翻转曲线图。 我们在前面的章节已经了解了 Highcharts 配置语法。接下来让我们来看个完整实例: 配置 配置图表类型 type 为 spline。chart.type 默认为 "line"。 配置 X 轴翻转。inverted 设置为 true 即 X 轴翻转,默认为 false。 chart var chart = { type:

  • 我的任务是比较一些当前时期的日志和旧的日志。例如——本周日志和前一周日志。但是当我创建这样的第二个轴时 我有一个空的部分,因为我所有的xAx都是“时间”类型的,并且点的时间不一样(这是绝对正常的行为)。我有这种情况 但是我需要制作独立的轴,例如:顶部轴开始于30sep,结束于3oct底部轴开始于7oxt,结束于10oct,它们的长度都相同 我试着创造这样的斧头 但是如果没有“ticks”属性,我会

  • 我正在尝试使用.js Chart 创建一个包含两个数据集的折线图,每个数据集都有自己的 Y 刻度/轴(一个在图形的左侧,一个在图形的右侧)。 这是我的代码( 但是,第二个轴不可见,第二个数据集仍然与第一个完全一样缩放(从0到100而不是从0到1)。我需要更改什么?

  • 如何在IPython笔记本内的Matplotlib中将图例添加到xy线图中?我目前的尝试: 这样做,我得到以下错误: /Users/mc/.virtualenvs/kaggle/lib/python2.7/site-packages/matplotlib/legend.py:613:用户警告:图例不支持[]使用代理艺术家代替。 http://matplotlib.sourceforge.net/u