我正在为一个名为Abaqus的程序编写另一个脚本,它在图表上绘制XY数据.我的脚本中的一部分将根据是否命名为特定名称来更改行样式.
所以我有很多不同的曲线名,如果图表中包含了特定的名称,我想执行代码来更改样式.例如..。
session.curves[PathNameNew+'_S201-16'].symbolStyle.setValues(show=True)
session.curves[PathNameNew+'_S201-16'].symbolStyle.setValues(marker=FILLED_DIAMOND)
session.curves[PathNameNew+'_S201-16'].symbolStyle.setValues(size=2)
session.curves[PathNameNew+'_S201-16'].symbolStyle.setValues(color='#009afb')
session.curves[PathNameNew+'_S247-16'].symbolStyle.setValues(show=True)
session.curves[PathNameNew+'_S247-16'].symbolStyle.setValues(marker=FILLED_DIAMOND)
session.curves[PathNameNew+'_S247-16'].symbolStyle.setValues(size=2)
session.curves[PathNameNew+'_S247-16'].symbolStyle.setValues(color='#009afb')
session.curves[PathNameNew+'_RELEASE'].symbolStyle.setValues(show=True)
session.curves[PathNameNew+'_RELEASE'].symbolStyle.setValues(marker=FILLED_DIAMOND)
session.curves[PathNameNew+'_RELEASE'].symbolStyle.setValues(size=2)
session.curves[PathNameNew+'_RELEASE'].symbolStyle.setValues(color='#009afb')
session.curves[PathNameNew+'_S205-18'].lineStyle.setValues(thickness=1)我有大约50个不同的曲线名称,不同的风格,并不是所有的曲线都会被使用,所以我想用一个尝试,除了:通过方法来实现这一点。不过,这意味着我必须对每个曲线的名字.
有更好的办法吗?
发布于 2015-03-16 17:55:39
您可以始终创建一个闭包函数来为您执行以下操作:
def my_big_function():
...
def set_symbolstyle_value(key, **kwargs):
try:
session.curves[PathNameNew + key].symbolStyle.setValues(**kwargs)
except MyException:
do_something()
set_symbolstyle_value('_S201-16', show=True)
set_symbolstyle_value('_S201-16', marker=FILLED_DIAMOND)
...功能很便宜。不要害怕使用它们。
发布于 2015-03-16 18:03:53
构建一个元组列表,每个元组包含两个元素--曲线名称和如下所示的参数块:
[('somename',{'color':'blue', 'marker':FILLED_DIAMOND})...]然后,根据上面的列表,执行以下操作:
for name, par in lst:
if name in session.curves:
session.curves[name].symbolStyle.setValues(**par)https://stackoverflow.com/questions/29083582
复制相似问题