Python:使用pycha快速绘制办公常用图二(使用样式定制个性化图表)

在昨天的文章《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:NONE Output: NONE author: socrates blog:http://blog.csdn.net/dyx1024 date: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)


做一下单元测试:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值