#!/usr/bin/env python3
# encoding: utf-8
#
from __future__ import unicode_literals
from pyecharts import Bar, Style, Line
'''
詳情參考:http://pyecharts.org/#/zh-cn/prepare
使用説明:
使用 pyecharts-snapshot 插件
如果想直接将图片保存为 png, pdf, gif 格式的文件,可以使用 pyecharts-snapshot。使用该插件请确保你的系统上已经安装了 Nodejs 环境。
安装 phantomjs $ npm install -g phantomjs-prebuilt
安装 pyecharts-snapshot $ pip install pyecharts-snapshot
调用 render 方法 bar.render(path='snapshot.png') 文件结尾可以为 svg/jpeg/png/pdf/gif。请注意,svg 文件需要你在初始化 bar 的时候设置 renderer='svg'。
更多内容请移步至 pyecharts-snapshot
圖表屬性説明:
is_smooth 折线是否平滑
mark_line 标记
legend_pos 图例位置 (例:每日平均数)左右
legend_top 图例位置 上下
legend_text_color 图例文字颜色
label_text_size 图例文字的大小
label_color 图例文字颜色
line_color 折线的颜色
line_width 折綫寬度
is_xaxislabel_align X轴刻度线和标签是否对齐。
xaxis_line_color X轴颜色
xaxis_line_width X轴宽度
background_color='#fff', # 生成圖片是需要手動設置背景色為白色,不然jpeg格式為黑色,png格式為透明
subtitle_color='#000000', # 子标题的颜色
subtitle_text_size=12, # 子标题的字体大小
is_animation=False, # 是否开启动画
width=800, # 畫布寬度
height=400, # 畫布高度
title_pos="87%", # 標題位置
'''
globalStyle = Style(
background_color='#fff', # 生成圖片是需要手動設置背景色為白色,不然jpeg格式為黑色,png格式為透明
subtitle_color='#000000', # 子标题的颜色
subtitle_text_size=12, # 子标题的字体大小
is_animation=False, # 是否开启动画
width=800, # 畫布寬度
height=400, # 畫布高度
title_pos="87%", # 標題位置
)
WEEK = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]
def barEcharts():
v1 = [5, 20, 36, 10, 75, 90, 10]
v2 = [10, 25, 8, 60, 20, 80, 20]
bar = Bar("", "单位: 次", **globalStyle.init_style)
bar.add("错误", WEEK, v1, is_stack=True, label_color=['#4b85f8'], legend_pos="70%", label_text_size=12,
legend_top='9', xaxis_line_width=-1, yaxis_line_width=-1)
bar.add("调用", WEEK, v2, is_stack=True, legend_pos="70%", label_color=['#ff555c'], label_text_size=12,
legend_top='9', xaxis_line_width=-1, yaxis_line_width=-1)
bar.render(path='./bar.jpeg')
def barEcharts1():
v1 = [5, 20, 36, 10, 75, 90, 10]
v2 = [10, 25, 8, 60, 20, 80, 20]
bar = Bar("", "单位: 次", **globalStyle.init_style)
bar.add("错误", WEEK, v1, is_stack=False, label_color=['#4b85f8'], legend_pos="70%", label_text_size=12,
legend_top='9', xaxis_line_width=-1, yaxis_line_width=-1)
bar.add("调用", WEEK, v2, is_stack=False, legend_pos="70%", label_color=['#ff555c'], label_text_size=12,
legend_top='9', xaxis_line_width=-1, yaxis_line_width=-1)
bar.render(path='./bar1.jpeg')
def LineEcharts():
v2 = [55, 60, 16, 20, 15, 80, 22]
line = Line("", "单位: 次", **globalStyle.init_style)
line.add("每日平均数", WEEK, v2, is_smooth=True, mark_line=["max", "min"],
legend_pos="72%",
label_text_size=12, legend_top='10', line_width=2, line_color='#4b85f8', legend_text_color='#000000',
label_color=['#4b85f8'], is_xaxislabel_align=True, xaxis_line_width=-1, yaxis_line_width=-1)
line.render(path='./line.jpeg')
if __name__ == '__main__':
barEcharts1()