我知道我可以通过matplotlib
绘制我的python生成的数据。我想使用 Scilab 绘制数据的原因是保持绘制图形的样式相同。因为我已经使用Scilab绘制了许多图形。
我应该使用 subprocess.Popen
来运行 scilab 脚本吗?有没有比这更好的方法。
sciscipy
python包似乎为Python内部的Scilab功能提供了接口。
一个示例供您评估这是否是您想要的:
from scilab import Scilab
sci = Scilab()
x = sci.rand(20, 20)
y = x*x.transpose()
y_inv = sci.inv(y)
您可以通过套接字使python脚本与scilab绘图脚本进行交互。以下是从 python 发送数据的方式:
import socket
import sys
host = socket.gethostname()
port = 59981
try:
soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
soc.bind((host, port))
except socket.error:
print "Unable to setup"
soc.listen(5)
while True:
conn, addr = soc.accept()
conn.send("data")
conn.close()