想把python提取出来的 加载点反力和某个单元的应力画在同一个XY曲线图上,由于两者数量级差太远,故而需要建立有两个Y轴的XY曲线图。
效果为:
代码如下:
Quatype1=xyPlot.QuantityType(label='应力' , type=STRESS)
Quatype2=xyPlot.QuantityType(label='荷载' , type=FORCE)
Quatype3=xyPlot.QuantityType(label='时间' , type=TIME)
fileName1='D:SaveDataTestLoad-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))
xyData1 = session.XYData(name='cv1', data=data, contentDescription=fileName1,
axis1QuantityType=Quatype3, axis2QuantityType=Quatype2)
curve1 = session.Curve(xyData1)
fileName2='D:SaveDataTestRF-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))
xyData2 = session.XYData(name='cv2', data=data, contentDescription=fileName2,
axis1QuantityType=Quatype3, axis2QuantityType=Quatype1)
curve2 = session.Curve(xyData2)
xyList=[xyData1,xyData2,]
curveList = session.curveSet(xyData=xyList)
xyPlot = session.XYPlot(plotName)
chart = xyPlot.charts.values()[0]
chart.setValues(curvesToPlot=curveList)
用于提取数据的两个文件,内容如下:
Load-Time.txt
荷载-时间曲线,时间,力 0.0000000.000000 0.00625041592.707031 0.01250080031.664063 0.021875124817.468750 0.035937170254.468750 0.057031211892.578125 0.088672248459.562500 0.100537258385.937500 0.118335269360.406250 0.145032281181.625000 0.171729289987.250000 0.198425296377.531250 0.238470302478.687500 0.298538308511.812500 0.358606312281.500000 0.418674314736.625000 0.508775317434.468750 0.542563318205.656250 0.593246319223.437500 0.669269320630.062500 0.783304322478.250000 0.897339324080.375000 1.000000325433.156250
RF-Mises-Time-N01.txt
应力-时间曲线,时间,应力 0.0000000.000000 0.00625013020906.000000 0.01250032996168.000000 0.02187571491424.000000 0.035937135575360.000000 0.057031234102240.000000 0.088672376186560.000000 0.100537400000000.000000 0.118335400000000.000000 0.145032400000000.000000 0.171729400000000.000000 0.198425400000000.000000 0.238470400000000.000000 0.298538400000000.000000 0.358606400000000.000000 0.418674400000000.000000 0.508775400000000.000000 0.542563400000000.000000 0.593246400000000.000000 0.669269400000000.000000 0.783304400000000.000000 0.897339400000000.000000 1.000000400000000.000000