设为首页 收藏本站
查看: 1168|回复: 0

[经验分享] Python:使用pycha快速绘制办公常用图二(使用样式定制个性化图表)

[复制链接]

尚未签到

发表于 2017-5-8 10:40:23 | 显示全部楼层 |阅读模式
  在昨天的文章《Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)》中,讲述了使用pycha绘制各种办图常见图,今天学习了下如何定制这些图表的样式,在pycha模块的源码中,char.py文件中定义了默认的样式格式,如下:
DEFAULT_OPTIONS = Option(axis=Option(lineWidth=1.0,lineColor='#0f0000',tickSize=3.0,labelColor='#666666',labelFont='Tahoma',labelFontSize=9,labelWidth=50.0,tickFont='Tahoma',tickFontSize=9,x=Option(hide=False,ticks=None,tickCount=10,tickPrecision=1,range=None,rotate=None,label=None,interval=0,showLines=False,),y=Option(hide=False,ticks=None,tickCount=10,tickPrecision=1,range=None,rotate=None,label=None,interval=0,showLines=True,),),background=Option(hide=False,baseColor=None,chartColor='#f5f5f5',lineColor='#ffffff',lineWidth=1.5,),legend=Option(opacity=0.8,borderColor='#000000',borderWidth=2,hide=False,position=Option(top=20, left=40, bottom=None, right=None),),padding=Option(left=10,right=10,top=10,bottom=10,),stroke=Option(color='#ffffff',hide=False,shadow=True,width=2),yvals=Option(show=False,inside=False,fontSize=11,fontColor='#000000',skipSmallValues=True,snapToOrigin=False,renderer=None),fillOpacity=1.0,shouldFill=True,barWidthFillFraction=0.75,pieRadius=0.4,colorScheme=Option(name='gradient',args=Option(initialColor=DEFAULT_COLOR,colors=None,),),title=None,titleColor='#000000',titleFont='Tahoma',titleFontSize=12,encoding='utf-8',)
有了它,我们可以根据自己的需要定义各种样式。  如下(代码中只列举了主函数,其他函数请见上篇博文):
if __name__ == '__main__':'''Function:使用pycha画各种图表Input:NONEOutput: NONEauthor: socratesblog:http://blog.csdn.net/dyx1024date:2012-02-29'''#数据来源dataSet=( ('iphone',((0,1),(1,3),(2,2.5))), ('htc',((0,2),(1,4),(2,3))), ('hw',((0,5),(1,1,),(2,0.5))), ('zte',((0,3),(1,2,),(2,1.5))), ) #    #图像属性定义#    options={ #                'legend':{'hide':False}, #                'title':'手机销售量分布图(by dyx1024)',#                'titleColor':'#0000ff',#                'titleFont':'字体',#                'background':{'chartColor': '#ffffff'}, #                'axis':{'labelColor':'#ff0000'},#            } #自定义样式options1={ 'axis': {'x': {                       #x轴'label': 'month',        #标签名称'rotate': 25,            },'y': {                       #y轴'tickCount': 8,          #横线个数'rotate': 25,'label': 'count'}},'background': {'chartColor': '#ffffff',     #图表背景色'baseColor': '#ffffff',      #边框颜色'lineColor': '#0000ff'       #横线颜色},'colorScheme': {'name': 'gradient','args': {'initialColor': '#CD3700', #图表颜色},},'legend': {'hide': True,     #是否隐藏图标示例},'padding': {'left': 10,       #左边框'bottom': 10,     #底边框},'title': 'pychar test(by dyx1024)' #图片标题}     surface = set_charvalue()#根据需要调用不同函数画不同形状的图#draw_pie(surface, options, dataSet)#draw_vertical_bar(surface, options, dataSet)#draw_horizontal_bar(surface, options, dataSet)#draw_scatterplot(surface, options, dataSet)#draw_stackedverticalbarChar(surface, options, dataSet)#draw_stackedhorizontalbarChart(surface, options, dataSet)#draw_line(surface, options, dataSet)#draw_vertical_bar(surface, options1, dataSet)draw_line(surface, options1, dataSet)  

做一下单元测试:
DSC0000.gif

DSC0001.gif

DSC0002.gif

DSC0003.gif

DSC0004.gif


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-374572-1-1.html 上篇帖子: python 写的udp服务器和客户端变身的程序。 下篇帖子: Learn Python The Hard Way学习(26)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表