生成图表文件,在py文件中修改html模版

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('模版文件修改成功!')



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想在网页使用 Python 生成Pyecharts 图表,可以使用 Flask 等 Web 框架将它们嵌入到 HTML 模板。以下是一个简单的示例: 1. 安装 Flask 和 Pyecharts: ``` pip install flask pyecharts ``` 2. 创建一个 Flask 应用程序,并在其定义一个路由,用于呈现图表: ```python from flask import Flask, render_template from pyecharts.charts import Bar from pyecharts import options as opts app = Flask(__name__) @app.route("/") def index(): # 创建一个柱状图 bar = Bar() bar.add_xaxis(["A", "B", "C", "D", "E"]) bar.add_yaxis("Series 1", [5, 20, 36, 10, 75]) bar.set_global_opts(title_opts=opts.TitleOpts(title="My Chart")) # 将图表渲染为 HTML chart_html = bar.render_embed() # 渲染 HTML 模板并传递图表 HTML return render_template("index.html", chart_html=chart_html) if __name__ == "__main__": app.run(debug=True) ``` 3. 创建一个 HTML 模板,并将图表 HTML 嵌入到其: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>My Page</title> <!-- 引入 echarts.min.js 和 pyecharts.min.js --> <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/echarts.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/pyecharts/1.9.0/pyecharts.min.js"></script> </head> <body> <!-- 在这里插入图表 --> {{ chart_html|safe }} </body> </html> ``` 4. 运行 Flask 应用程序并查看生成的网页: ``` python app.py ``` 这样,你就可以在网页看到 Pyecharts 生成图表了。如果你想保存排版,可以使用 CSS 样式表来控制网页的布局和样式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值