示例1:
from pyecharts.charts import Bar
from pyecharts import options as opts
y_data = [1,2,3,4,5,6,7,8]
x_data = [10,2,3,4,5,6,7,8]
bar = (
Bar()
.add_xaxis(x_data)
.add_yaxis("",
y_data)
.set_series_opts(
label_opts=opts.LabelOpts(is_show=False),
markpoint_opts=opts.MarkPointOpts(data=[
{"type": 'max','name':'最大值'},
{"type": 'min','name':'最小值'}
])
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="每个题目有多少个知识点",
pos_left='250'
),
datazoom_opts=opts.DataZoomOpts(is_show=True,range_start=0,range_end=100),
xaxis_opts=opts.AxisOpts(
type_='category',
name='题目编号',
name_textstyle_opts={'padding': [0, 0, -30, 10]}
),
yaxis_opts=opts.AxisOpts(
type_='value',
name='知识点个数',
name_textstyle_opts={'padding': [200, 0, -20, -100]}
)
)
)
# 生成echars图片网页
bar.render("test.html")
# 如果在jupyter上开发,可打开这个注释
#bar.render_notebook()
效果:
示例而:
# 画柱状图
from pyecharts.charts import Bar, Line
from pyecharts import options as opts
df = pd.read_excel(record_file_name)
x_data = []
y_data = {"":[],"":[]}
#设置这个参数可以控制展示多少
head_count = None
bar = (
Line()
# 横坐标数据
.add_xaxis(x_data[0:head_count])
# 纵坐标数据,可以是多组数据
.add_yaxis("固定话术命中平均", y_data['固定话术命中平均'][0:head_count])
.add_yaxis("上课数", y_data['上课数'][0:head_count])
.add_yaxis("禁语命中平均", y_data['禁语命中平均'][0:head_count])
.add_yaxis("平均迟到(分钟/次)", y_data['平均迟到(分钟/次)'][0:head_count])
.set_series_opts(
label_opts=opts.LabelOpts(is_show=False)
)
.set_global_opts(
title_opts=opts.TitleOpts(title=""),
# 横坐标缩放工具
datazoom_opts=opts.DataZoomOpts(is_show=True),
xaxis_opts=opts.AxisOpts(
# 横坐标文字倾斜度数
axislabel_opts={"interval": "0", "rotate":"40"}
),
tooltip_opts={"trigger": 'axis', "showContent": "true" },
)
)
record_file_name_html = 'test.html'
bar.render(record_file_name_html)
ref:
https://github.com/pyecharts/pyecharts