| 
 
	积分3625贡献 精华在线时间 小时注册时间2014-10-21最后登录1970-1-1 
 | 
 
| 
'''
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  需求缘起:
 本人目前常用matplotlib画图,为了使画的图与前端网页的数据配色一致,现在我要
 将matplotlib的色条转为2种通用的表示形式:
 十六进制#ff03f8,和 rgb(74, 242, 207)
 '''
 import matplotlib.pyplot as plt
 import matplotlib as mpl
 import numpy as np
 import json
 
 def getHexColorbar():
 # 辅助函数:
 def f(rr):
 rr=np.round(rr*255)
 rr=rr.astype(np.int16)
 rr=hex(rr)
 rr=str(rr)
 rr=rr[2:]
 if len(rr)==1:
 rr='0'+rr
 return rr
 # 辅助函数:
 def g(rr):
 rr=np.round(rr*255)
 rr=rr.astype(np.int16)
 return rr
 
 x=np.arange(256)
 colors=mpl.cm.rainbow(x)
 
 hexcolor=[]
 rgb=[]
 for i in colors:
 hexcolor.append('#'+f(i[0])+f(i[1])+f(i[2]))
 rgb.append( (g(i[0]),g(i[1]),g(i[2])) )
 
 # 提供2种颜色表示方式:
 # 十六进制#ff03f8,和(74, 242, 207)
 result={"hex":hexcolor,"rgb":rgb}
 
 return result
 
 if __name__=="__main__":
 x=getHexColorbar()
 print(x)
 
 
 
 
 
 
 
 
 | 
 |