from pyecharts import options as opts
from pyecharts.charts import Scatter, Bar
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType, RenderType
# 导入主题包
# c = Bar(
# init_opts=opts.InitOpts(
# theme=ThemeType.DARK,
# width='100%',
# height='400px', # 画布大小
# bg_color='black',
# animation_opts=opts.AnimationOpts(animation=False), # 禁用动画
# renderer=RenderType.CANVAS,
# page_title='CINDEELLA',
# js_host="./"#第二种方法
# ))
# # c.js_host="./"#第一种方法
# c.add_xaxis(Faker.choose())
# c.add_yaxis("系列一", Faker.values(),gap="11%",stack=True) # 堆叠 间距 category_gap="50%"
# c.add_yaxis("系列二", Faker.values(),gap="11%")
# c.add_yaxis("系列三", Faker.values(),gap="11%")
# c.set_global_opts(
# title_opts=opts.TitleOpts(title="山西省", subtitle="太原市", pos_left="20px",
# title_textstyle_opts=opts.TextStyleOpts(font_size=15)),
# legend_opts=opts.LegendOpts(selected_mode="multiple")#single
#
# )
# 或者
# .set_global_opts(
# title_opts={'text': '山西省', 'subtext': '太原市'},
# )
#
# c = (
# Scatter(init_opts=opts.InitOpts(js_host="./",width='100%',height='400px',theme=ThemeType.DARK,),
#
# # 画布大小
# )
# .add_xaxis(Faker.clothes)
# .add_yaxis("销售", [(x, y) for x, y in zip(Faker.values(), Faker.values())])
#
# # .reversal_axis()#翻转XY轴
# .set_global_opts(
#
# xaxis_opts=opts.AxisOpts(
# name="商家名称",
# axislabel_opts=opts.LabelOpts(rotate=15), # 倾斜 斜体
# axistick_opts=opts.AxisTickOpts(is_inside=True, length=10), # 刻度
# axispointer_opts=opts.AxisPointerOpts(is_show=True, type_="line"), # 线条
# splitline_opts=opts.SplitLineOpts(is_show=False),
# # 取消网格
# ),
#
# yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=False)), # 取消网格
#
# visualmap_opts=opts.VisualMapOpts(type_="color",
# range_text=["最大值", "最小值"]), # color size range_text range_color
# # tooltip_opts=opts.TooltipOpts(
# # formatter=JsCode("function(params){return params.value}")
# datazoom_opts=opts.DataZoomOpts(is_show=True, type_="inside", xaxis_index=[0], range_start=0, range_end=100),
# # )
# )
#
# )
# print(help(opts.InitOpts))
###########################################################
html_file = "bar3.html"
c.render(html_file)
# 打开并修改模板文件
with open(html_file, 'r') as file:
content = file.read()
# 向 <head> 标签中添加额外的代码
extra_code_head = """
<style>
html,
body {
width: 100%;
height: 100%;
margin: 0;
overflow: hidden;
}
</style>
"""
head_content = content.replace('</head>',extra_code_head + '</head>')
# 向 <script> 标签中添加额外的代码
extra_code_script = """
window.addEventListener('resize', myChart.resize);
"""
split_content = head_content.rsplit('</script>', maxsplit=1)
script_content = (extra_code_script+'</script>').join(split_content)
# 保存修改后的模板文件
with open(html_file, 'w') as file:
file.write(script_content)
print('模版文件修改成功!')