aardio 文档
aardio 范例:matplotlib
//matplotlib
import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio 调用 Python 模块 matplotlib";right=759;bottom=469)
winform.add(
button={cls="button";text="调用 matplotlib 绘图";left=440;top=399;right=632;bottom=455;color=14120960;db=1;dr=1;font=LOGFONT(h=-14);note="每次点击都会重绘一次";z=2};
plus={cls="plus";left=10;top=15;right=749;bottom=378;db=1;dl=1;dr=1;dt=1;repeat="scale";z=1}
)
/*}}*/
import py3;
import py3.lib.numpy;
import py3.lib.matplotlib;
var pyCode = /**
import io
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #使用中文字体
plt.rcParams['axes.unicode_minus']=False
def render():
fig = plt.figure(figsize=(6, 6), dpi=300)
ax = fig.add_subplot(111)
x = np.random.randn(500)
y = np.random.randn(500)
ax.plot(x, y, '.', color='r', markersize=10, alpha=0.2)
ax.set_title('matplotlib 测试')
f = io.BytesIO()
plt.savefig(f, dpi=fig.dpi)
plt.close() #释放内存,不然内存会一直增加
return f.getvalue()
**/
py3.exec( pyCode );//运行Python代码
winform.button.oncommand = function(id,event){
//调用 Python 函数
var pyBytes = py3.main.render();
//设置图像,参数@2为 false 禁止缓存图像
winform.plus.setBackground( pyBytes,false );
}
winform.show();
win.loopMessage();
Markdown 格式