defadd_label(w,obj,s):
#调用cgo类
cgo =[]
#获取最大最小坐标
minxyz,maxxyz =cmd.get_extent(obj, state=0)
#获取中心坐标
center_x, center_y, center_z= [ (minxyz[0]+maxxyz[0])/2 , (minxyz[1]+maxxyz[1])/2, (minxyz[2]+maxxyz[2])/2 ]
#获取大小坐标
size_x, size_y, size_z = [maxxyz[0]-minxyz[0], -minxyz[1]+maxxyz[1],-minxyz[2]+maxxyz[2]]
#获取中心坐标最大值
maxl=max(center_x,center_y,center_z)
#获取label的位置坐标,放在z轴上,x轴负移动1-8倍中心坐标值,避开结构,自己调整
label_z_pos = [minxyz[0]-2*maxl, minxyz[1] , center_z]
#w="x:"+str(round(center_x,2))+" y:"+str(round(center_y,2))+" z:"+str(round(center_z,2))+" W:"+w
#根据坐标轴中心位置的大小,确定字体坐标轴的大小,从而确定字体大小,这里s取值为0.1-1.5,自己定
axesp=round(maxl*s,1)
axes = [[axesp,0.0,0.0],[0.0,axesp,0.0],[0.0,0.0,axesp]]
#创建字体标签
wire_text(cgo,plain,label_z_pos,w,axes)
#设定字体标签的粗细
cmd.set("cgo_line_radius",0.5)
cmd.load_cgo(cgo,'times')
#设定颜色
cmd.color_deep("orange",'times',0)
add_label("happy",i,0.5) ##不支持中文哦
import pymol,os,codecs,re
frompymol.wizardimport Wizard
frompymol.vfontimport plain
from fnmatch import fnmatch
i="1G9A"
cmd.remove("(solvent and 1G9A)")
minxyz,maxxyz =cmd.get_extent(obj, state=0)
center_x, center_y, center_z= [ (minxyz[0]+maxxyz[0])/2 , (minxyz[1]+maxxyz[1])/2, (minxyz[2]+maxxyz[2])/2 ]
size_x, size_y, size_z = [maxxyz[0]-minxyz[0], -minxyz[1]+maxxyz[1],-minxyz[2]+maxxyz[2]]
maxl=max(center_x,center_y,center_z)
label_z_pos = [minxyz[0]-2*maxl, minxyz[1] , center_z]
#w="x:"+str(round(center_x,2))+" y:"+str(round(center_y,2))+" z:"+str(round(center_z,2))+" W:"+w
axes = [[axesp,0.0,0.0],[0.0,axesp,0.0],[0.0,0.0,axesp]]
wire_text(cgo,plain,label_z_pos,w,axes)
cmd.set("cgo_line_radius",0.2)
cmd.load_cgo(cgo,'times')
cmd.color_deep("orange",'times',0)
add_label("happy",i,0.5)
cmd.save("%s.pse"%i,all,-1,"pse")
cmd.set("bg_rgb",'white')
cmd.set("ray_opaque_background",'1')
cmd.png("%s.png"%i,width=2000, height=1500, dpi=300, ray=1)