想把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曲線圖方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

