peycharts数据可视化

peycharts数据可视化pyecharts 的数据可视化各种图表的展示 通过给定的数据来进行图表的绘画 由于 pyecharts 给定的教程较为简略 并且有时候还会有一些 bug 需要对语句进行些变化才能得到想要的结果 以下是完整代码 添加背景图片 from pyecharts components import Image 图片网址

大家好,我是讯享网,很高兴认识大家。

 pyecharts的数据可视化各种图表的展示
讯享网

 通过给定的数据来进行图表的绘画

由于pyecharts给定的教程较为简略,并且有时候还会有一些bug,需要对语句进行些变化才能得到想要的结果,以下是完整代码:

#添加背景图片
from pyecharts.components import Image
图片网址='https://i.postimg.cc/9fgCzhZX/2.png'
宽0='100%'
高0='100%'
def 背景图片(图片网址):
    图片=(
        Image()
        .add(图片网址,
            style_opts={"width":宽0,"height":高0})
    )
    图片.chart_id=0
    return 图片
背景图片(图片网址).render_notebook()



#主标题
import pyecharts.options as opts                                                                  # 调用图表配置选项库 
from pyecharts.charts import Pie                                                                  # 调用画图库

主标题名称数据 = "大数据管理与应用专业-学生数据可视化"                                                    # 设置数据

宽1='615px'                                                                                      # 设置图片宽度高度变量 
高1='40px'

def 主标题(主标题名称数据):                                                                          # 定义函数,便于可视化大屏调用

    标题 = (
        
        Pie(init_opts=opts.InitOpts(width=宽1, height=高1, chart_id=1))                           # 绘图,设置图片大小、图表id
        
        .set_global_opts(
            title_opts=opts.TitleOpts(
                            title=主标题名称数据,                                                   # 设置标题
                            title_textstyle_opts=opts.TextStyleOpts(font_size=35,                 # 字体大小
                                                                    color='white'))))             # 字体颜色
    
    return 标题                                                                                    # 将图表作为函数返回值

主标题(主标题名称数据).render_notebook()                                                              # 展示图片


#副标题
import pyecharts.options as opts                                                                  # 调用图表配置选项库 
from pyecharts.charts import Pie                                                                  # 调用画图库

副标题名称数据 = '夏佳奇 2022-5-21'                                                                         # 设置数据

宽2='172px'                                                                                        # 设置图片宽度高度变量 
高2='30px'   

def 副标题(副标题名称数据):                                                                           # 定义函数,便于可视化大屏调用
    
    标题 = (
        
        Pie(init_opts=opts.InitOpts(width=宽2, height=高2,chart_id=2))                             # 绘图,设置图片大小、图表id
        
        .set_global_opts(
            title_opts=opts.TitleOpts(
                            title=副标题名称数据,                                                    # 设置标题
                            title_textstyle_opts=opts.TextStyleOpts(font_size=20,                  # 字体大小
                                                                    color='white'))))              # 字体颜色
    
    return 标题                                                                                     # 将图表作为函数返回值

副标题(副标题名称数据).render_notebook()                                                              # 展示图片


#热力图
from pyecharts import options as opts                                                       # 调用图表配置选项库  
from pyecharts.charts import HeatMap                                                        # 调用画图库

课程安排数据 = [[0, 2, 2], [1, 2, 1], [2, 2, 2], [3, 2, 1], [4, 2, 2], [5, 2, 0], [6, 2, 0],  # 设置数据
              [0, 1, 1], [1, 1, 2], [2, 1, 2], [3, 1, 2], [4, 1, 1], [5, 1, 0], [6, 1, 0],
              [0, 0, 0], [1, 0, 1], [2, 0, 0], [3, 0, 1], [4, 0, 0], [5, 0, 0], [6, 0, 0]]

热力图横坐标 = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']                            # x轴坐标数据
热力图纵坐标 = ['晚上','下午','上午']                                                           # y轴坐标数据

宽3='410px'                                                                                 # 设置图片宽度高度变量
高3='250px'

def 课程安排热力图(课程安排数据):                                                               # 定义函数,便于可视化大屏调用
    
    热力图 = (                                                                 
        HeatMap(init_opts=opts.InitOpts(width=宽3, height=高3, chart_id=3))                 # 绘图,设置图片大小、图表id
        
        .add_xaxis(热力图横坐标)                                                             # 设置x轴坐标名
        
        .add_yaxis("", 热力图纵坐标, 课程安排数据,                                             # 设置y轴坐标名,添加数据
                   label_opts=opts.LabelOpts(color="white",                                # 标签字体颜色
                                             font_size=13,                                 # 字体大小
                                             position="inside"),                           # 位置
                   itemstyle_opts=opts.ItemStyleOpts(border_color='white',                 # 边界线颜色
                                                     border_width=3))                      # 边界线宽度

        .set_global_opts(
            visualmap_opts=opts.VisualMapOpts(max_=2,is_show=False),                       # 设置视觉映射配置项,最大值为600 
            
            xaxis_opts = opts.AxisOpts(                                                  
                              axislabel_opts = opts.LabelOpts(font_size = 13,              # 坐标轴字体大小
                                                              color='white'),              # 坐标轴字体颜色
                              axisline_opts = opts.AxisLineOpts(                           
                                                    linestyle_opts=opts.LineStyleOpts(
                                                                            color='white', # 坐标轴线颜色
                                                                            width=3))),    # 坐标轴线宽度
            yaxis_opts = opts.AxisOpts(                                                  
                              axislabel_opts = opts.LabelOpts(font_size = 13,              # 坐标轴字体大小
                                                              color='white'),              # 坐标轴字体颜色
                              axisline_opts = opts.AxisLineOpts(                           
                                                    linestyle_opts=opts.LineStyleOpts(
                                                                            color='white', # 坐标轴线颜色
                                                                            width=3))),    # 坐标轴线宽度                                                                width=3))),    # 坐标轴线宽度 
           title_opts = opts.TitleOpts(
                             title='课 程 安 排 热 力 图',                                    # 设置标题
                             title_textstyle_opts=opts.TextStyleOpts(font_size = 20,       # 标题字体大小
                                                                     color="white"),       # 标题颜色
                             pos_left = 'center',pos_top='10%')))                                        # 设置居中
    
    return 热力图                                                                           # 将图表作为函数返回值

课程安排热力图(课程安排数据).render_notebook()                                                 # 展示图片


#散点图
#import pyecharts.options as opts
from pyecharts.charts import Scatter,Line
import numpy as np
学生编号数据 =  list(range(0, 522))                      # 生成学生编号
学生体温数据 =  np.random.randint(360,371,522)/10      # 生成学生体温
宽4='410px'
高4='250px'
def 散点图(学生编号数据,学生体温数据):
    散点图 = (
        Scatter(init_opts=opts.InitOpts(width=宽4, height=高4,chart_id=4))
        .add_xaxis(xaxis_data=学生编号数据,
                  )                                            #不显示注
        .add_yaxis(series_name='',y_axis=学生体温数据,symbol='diamond',
                   color='green',
                   symbol_size=4,#散点大小为4
                   label_opts=opts.LabelOpts(is_show=False),#不显示注释
                   markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(name="y=37.3℃",type_="max")],
                                                   linestyle_opts=opts.LineStyleOpts(width=3,color='red'),
                                                  label_opts=opts.LabelOpts(font_size=21)),
                  )

        .set_global_opts(
            xaxis_opts=opts.AxisOpts(type_="value",
                                     max_=522,
                                     axislabel_opts = opts.LabelOpts(font_size = 13,color='white'),
                                    name='学号',
                                    name_textstyle_opts=opts.TextStyleOpts(font_size='13',color='white'),
                                    splitline_opts=opts.SplitLineOpts(is_show=True),
                                                                  axisline_opts = opts.AxisLineOpts(                           
                                                    linestyle_opts=opts.LineStyleOpts(
                                                                            color='white', # 坐标轴线颜色
                                                                            width=3))),

            yaxis_opts=opts.AxisOpts(type_="value",

                                     axislabel_opts = opts.LabelOpts(font_size = 13,color='white'),
                                     min_=35,
                                     max_=39,
                                    name='体温',
                                     name_textstyle_opts=opts.TextStyleOpts(font_size='13',color='white'),
                                    splitline_opts=opts.SplitLineOpts(is_show=True),
                                      axisline_opts = opts.AxisLineOpts(                           
                                                    linestyle_opts=opts.LineStyleOpts(
                                                                            color='white', # 坐标轴线颜色
                                                                            width=3))),

            title_opts=opts.TitleOpts(title='体温统计-夏佳奇',pos_left='center',pos_top='10%',
                                     title_textstyle_opts=opts.TextStyleOpts(color='white',font_size=20)), #字体白色,45号大小),

        ))
    return 散点图
散点图(学生编号数据,学生体温数据).render_notebook()  



#仪表盘
from pyecharts import options as opts # 调用图表配置选项库
from pyecharts.charts import Gauge # 调用画

教室温度数据 = [("教室平均温度", 25)] # 设置数据
宽5='410px'
高5='260px'
def 仪表盘(教室温度数据):
    仪表盘 = (
    Gauge(init_opts=opts.InitOpts(width=宽5, height=高5,chart_id=5)) # 设置图片
        .add("", 教室温度数据, # 添加数据
             split_number=8,
            min_=-30,max_=50, 
            axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color=[(0.2,"cyan"),
                                                                                 (0.65,"yellow"),
                                                                                 (0.8,"orange"),
                                                                                 (1,"red")],width=30)),

             title_label_opts=opts.GaugeTitleOpts(font_size=10,color="white",font_style='normal'),
                      pointer=opts.GaugePointerOpts(length='120%',width='10'),
            detail_label_opts = opts.GaugeDetailOpts(                       # 设置仪表盘内注释
                                                  formatter="{value}℃",              # 注释格式
                                                  font_size =20,
                                                  color='white',
                                                  offset_center=['0%','30%']))

        .set_global_opts(
            title_opts = opts.TitleOpts(
            title='教室平均温度仪表-夏佳奇', # 设置标题
            title_textstyle_opts=opts.TextStyleOpts(font_size =18,color='white'), # 设置字体大小
            pos_left = 'center',pos_bottom='10%')) # 设置居
    )
    return 仪表盘
仪表盘(教室温度数据).render_notebook() # 展示图片


#仪表盘2
from pyecharts import options as opts # 调用图表配置选项库
from pyecharts.charts import Gauge # 调用画

室外温度数据 = [("室外温度", 26)] # 设置数据
宽6='410px'
高6='260px'
def 仪表盘2(室外温度数据):
    仪表盘2 = (
        Gauge(init_opts=opts.InitOpts(width=宽6, height=高6,chart_id=6)) # 设置图片
            .add("", 室外温度数据, # 添加数据
                 min_=-30,max_=50, 
                split_number=8,#设置分割
                axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color=[(0.2,"cyan"),
                                                                                 (0.65,"yellow"),
                                                                                 (0.8,"orange"),
                                                                                 (1,"red")],width=30)),
                title_label_opts=opts.GaugeTitleOpts(font_size=13,color="white"),
                pointer=opts.GaugePointerOpts(length='120%',width='10'),
                detail_label_opts = opts.GaugeDetailOpts(                       # 设置仪表盘内注释
                                                  formatter="{value}℃",              # 注释格式
                                                  font_size =20,
                                                  color='white',
                                                  offset_center=['0%','20%'])) # 注释位置

        .set_global_opts(
            title_opts = opts.TitleOpts(
            title='寝室平均温度仪表-夏佳奇', # 设置标题
            title_textstyle_opts=opts.TextStyleOpts(font_size =18,color='white'), # 设置字体大小
            pos_left = 'center',pos_bottom='10%')) # 设置居
    )
    return 仪表盘2
仪表盘2(室外温度数据).render_notebook() # 展示图片


#地图
from pyecharts import options as opts # 调用图表配置选项库
from pyecharts.charts import Map # 调用画图
from pyecharts.globals import ThemeType # 调用设置主题样式

地图数据 = [['河北',22 ] ,['山西',21 ] , # 设置数据
        ['内蒙古',26 ] ,['辽宁',89] ,['吉林',59  ] ,['黑龙江',66 ] ,
        ['江苏',30 ] ,['浙江',24 ] ,
        ['福建',18 ],['山东',48 ] ,['河南',52 ] ,
        ['湖北',28 ] ,['广东',11  ] ,
        ['四川',15  ] ,
        ['云南',7 ] ,['西藏',2 ] ,
        ['新疆',3]]
宽7='510px'
高7='430px'
def 地图(地图数据):
    地图 = (
        Map(init_opts=opts.InitOpts(width=宽7, height=高7,theme=ThemeType.WONDERLAND,chart_id=7)) # 设置大小
        .add("",data_pair=地图数据,
             is_roam=False,
             maptype="china",
            label_opts=opts.LabelOpts(
                color="#83004F",
                font_size=13,
                font_weight='bold'),
            itemstyle_opts=opts.ItemStyleOpts(
                color='green',
                area_color='white',
                opacity=0.5,
                border_width=1,
                border_type='dotted', # 省份边界为虚
            ))
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title="籍贯分布统计-夏佳奇",
                pos_left='center',
                pos_top='7%',
                title_textstyle_opts=opts.TextStyleOpts(
                    font_size=20,color='white'
                )
            ),
            visualmap_opts=opts.VisualMapOpts(
                is_piecewise=True,
                type_='color',
                min_=0,
                max_=100,
                range_text=["最高","最低"],
                textstyle_opts = opts.TextStyleOpts(color="white"),
                pos_left='0%',pos_bottom='10%'
            ),
            tooltip_opts = opts.TooltipOpts( # 设置提示框
                formatter='{b}: {c}人', # 设置内容格式
                textstyle_opts = opts.TextStyleOpts(font_size=13)), # 设置字体大小
        )

    )
    return 地图

地图(地图数据).render_notebook() # 展示图


#环形图
from pyecharts import options as opts # 调用图表配置选项库
from pyecharts.charts import Pie # 调用画饼图库
性别数据 = [ ('男生', 238), ('女生', 263)]
宽8='380px'
高8='230px'
def 环形图(性别数据):
    饼图 = (Pie(init_opts=opts.InitOpts(width=宽8, height=高8,chart_id=8)) # 画饼图
        .add('kkk', data_pair=性别数据,radius=['40%','60%'])
          .set_colors([ "blue", "red"])
          .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}人",position='inside'))
          .set_global_opts(
              title_opts=opts.TitleOpts(title="性别比例-夏佳奇 ",pos_left='center',title_textstyle_opts=opts.TextStyleOpts(font_size=20,color='white')),
              legend_opts=opts.LegendOpts(pos_right='0',orient='vertical',pos_top='50',))
         )
    return 饼图
环形图(性别数据).render_notebook() # 展示图片


#水球图
from pyecharts import options as opts # 调用图表配置选项库
from pyecharts.charts import Liquid # 调用画图库
考研意向 = [0.4] # 设置数据
宽9='420px'
高9='240px'
def 水球图(考研意向):
    水球图 = (
                Liquid(init_opts=opts.InitOpts(width=宽9, height=高9,chart_id=9)) # 绘图
                .add("", 考研意向 ,center = ['50%','60%'],shape = 'roundRect', # 设置水球
                     is_outline_show=False,
                     label_opts=opts.LabelOpts(font_size=30,position='inside')
                    ) # 添加数据
        .set_global_opts(title_opts=opts.TitleOpts(title="考研意向-夏佳奇",pos_left='center',pos_top='10%',
                                                   title_textstyle_opts=opts.TextStyleOpts(font_size=20,
                                                                                        color='white')),
                        )
    )
    return 水球图
水球图(考研意向).render_notebook() # 展示图


#条形图
from pyecharts.charts import Bar                            # 调用画折线图库          
import pyecharts.options as opts       # 调用图表配置选项库

x = ['大一','大二','大三','大四']
y = [240,123,96,23]
宽10='420px'
高10='270px'
def 条形图(x,y):
    x.reverse()
    y.reverse()

    条形图 = (

        Bar(init_opts=opts.InitOpts(width=宽10, height=高10))   # 画一个柱状图,大小为1200*800
        .add_xaxis(x) # 设置x轴数据

        .add_yaxis( "", y,color={
                                    'type':'liner',
                                    'x':0,
                                    'y':0,
                                    'x2':1,       #x2,y2代表终点,x,y代表起点。
                                    'y2':0,
                                    'colorStops':[{'offset':0,'color':'#DEC9B2'},
                                                 {'offset':0.5,'color':'#8CA2A4'},{'offset':1,'color':'#032F39'}]
                                },
                   label_opts=opts.LabelOpts(font_size=13,position='right' ,formatter='{c}人',color='white')
                  )


        .reversal_axis()



        .set_global_opts(
            xaxis_opts = opts.AxisOpts( name = '人数',                                         # 设置坐标轴名称
                              axisline_opts = opts.AxisLineOpts(                           
                                                    linestyle_opts=opts.LineStyleOpts(
                                                                            color='white', # 坐标轴线颜色
                                                                            width=3)),
                                       name_textstyle_opts=opts.TextStyleOpts(font_size = 13), # 设置名称字体大小
                                       axislabel_opts = opts.LabelOpts(font_size = 13)),       # 设置x轴坐标字体大小

            yaxis_opts = opts.AxisOpts( name = '年级',                                   # 设置坐标轴名称
                              axisline_opts = opts.AxisLineOpts(                           
                                                    linestyle_opts=opts.LineStyleOpts(
                                                                            color='white', # 坐标轴线颜色
                                                                            width=3)),
                                       name_textstyle_opts=opts.TextStyleOpts(font_size = 13), # 设置名称字体大小
                                       axislabel_opts = opts.LabelOpts(font_size = 13)) ,      # 设置y轴坐标字体大小    
            title_opts = opts.TitleOpts(title='年级人数统计-夏佳奇',                            # 设置标题
                                        title_textstyle_opts=opts.TextStyleOpts(font_size = 20,color='white'),   #设置字体大小    
                                        pos_left = '50%',pos_top='10%'))                                    #设置居中                                                  

            )
    return 条形图
条形图(x,y).render_notebook()


#柱状图
from pyecharts.charts import Bar                            # 调用画折线图库          
import pyecharts.options as opts                             # 调用图表配置选项库
x = ['国家级','省级','市级','校级']
y = [15 ,37,79,156]
宽11='410px'
高11='250px'
def 柱状图(x,y):
    柱状图= (
        Bar(init_opts=opts.InitOpts(width=宽11,height=高11))           #定义折线图大小,1200*800                                           # 画一个折线图
        .add_xaxis(x)
        .add_yaxis("",y,
                   label_opts=opts.LabelOpts(font_size=13,position='top' ,formatter='{c}人',color='white'),             #设置标签字体大小
                   color={
                                    'type':'liner',
                                    'x':0,
                                    'y':0.5,
                                    'x2':1,       #x2,y2代表终点,x,y代表起点。
                                    'y2':0.5,
                                    'colorStops':[{'offset':0,'color':'yellow'},{'offset':1,'color':'orange'}]
                                },
                   bar_width=40
                  )                 # 设置y轴数据     
        .set_global_opts(  
            xaxis_opts = opts.AxisOpts( name = '级别',                                          # 设置坐标轴名称
                                                                     axisline_opts = opts.AxisLineOpts(                           
                                                    linestyle_opts=opts.LineStyleOpts(
                                                                            color='white', # 坐标轴线颜色
                                                                            width=3)),
                                       name_textstyle_opts=opts.TextStyleOpts(font_size = 13,color='white'), # 设置名称字体大小
                                       axislabel_opts = opts.LabelOpts(font_size = 13)),       # 设置x轴坐标字体大小
            yaxis_opts = opts.AxisOpts( name = '获奖数(次)',                                   # 设置坐标轴名称
                                                                     axisline_opts = opts.AxisLineOpts(                           
                                                    linestyle_opts=opts.LineStyleOpts(
                                                                            color='white', # 坐标轴线颜色
                                                                            width=3)),
                                       name_textstyle_opts=opts.TextStyleOpts(font_size = 13,color='white'), # 设置名称字体大小
                                       axislabel_opts = opts.LabelOpts(font_size = 13)),      # 设置y轴坐标字体大小 
            title_opts = opts.TitleOpts(title='获奖统计--夏佳奇',                              # 设置标题
                                        title_textstyle_opts=opts.TextStyleOpts(font_size = 20,color='white'), # 设置字体大小
                                        pos_left = '60%',pos_top='15%'))                                    # 设置居中                                                     
            )
    return 柱状图
柱状图(x,y).render_notebook()  


#雷达图
from pyecharts import options as opts # 调用图表配置选项库
from pyecharts.charts import Radar # 调用雷达图库

学科平均成绩 = [[75,90,82,76,80]]          # 注意数据有两个方括号
宽12='410px'
高12='250px'
def 雷达图(学科平均成绩 ):
    雷达图 = (
        Radar(init_opts=opts.InitOpts(width=宽12, height=高12))     # 画雷达图
        .add_schema( shape='circle', # 设置为圆形坐标系                                                      # 设置雷达图坐标轴名称
            radius='60%', center=['50%','63%'], # 调整大小和位
                schema=[     
                    opts.RadarIndicatorItem(name="数学类" ,max_=100), # 设置坐标轴名称
                    opts.RadarIndicatorItem(name="计算机类", max_=100),
                    opts.RadarIndicatorItem(name="经济类", max_=100),
                    opts.RadarIndicatorItem(name="管理类", max_=100),
                    opts.RadarIndicatorItem(name="思政类", max_=100)],
      splitline_opt = opts.SplitLineOpts(is_show=True,linestyle_opts=opts.LineStyleOpts(width=3,color='white')),

        textstyle_opts = opts.TextStyleOpts(color='white',font_size=15))

        .add("学科平均成绩", 学科平均成绩,color='#DEC9B2',areastyle_opts=opts.AreaStyleOpts(opacity=0.8)) # 添加雷达图数据
        #.add("农业银行", 农业银行,color='green',areastyle_opts=opts.AreaStyleOpts(opacity=0.5))

        .set_series_opts(label_opts=opts.LabelOpts(is_show=True,distance='insideRight',color='white'))                           # 不显示注释

        .set_global_opts(legend_opts=opts.LegendOpts(is_show=False),
                        title_opts = opts.TitleOpts(title='成绩综合评价-夏佳奇', # 设置标题
                        title_textstyle_opts=opts.TextStyleOpts(font_size =20,color='white'),     # 设置字体大小
                        pos_left = 'center',pos_top='9%'),                                         # 设置居中
    )           # 设置字体大小
    )
    return 雷达图
雷达图(学科平均成绩).render_notebook()


#整合
from pyecharts.charts import Page                                                                             # 调用画图库
from bs4 import BeautifulSoup                                                                                 # 可解析网页文件的库
import webbrowser                                                                                             # 可自动打开网页的库

def 制作初稿():                                                                                                # 制作初稿
    
    可视化大屏 = Page(page_title = '大数据管理与应用专业——学生数据可视化')                                         # 定义大屏、设置网页标签
    
    可视化大屏.add(                                                                                            # 添加图表到可视化大屏
        背景图片(图片网址),
        主标题(主标题名称数据),
        副标题(副标题名称数据),
        课程安排热力图(课程安排数据),
        散点图(学生编号数据,学生体温数据),
        仪表盘(教室温度数据),
        仪表盘2(室外温度数据),
        地图(地图数据),
        环形图(性别数据),
        水球图(考研意向),
        条形图(x,y),
        柱状图(x,y),
        雷达图(学科平均成绩)
    )
    可视化大屏.render('数据可视化大屏.html')
def 排版调试():                                                                                                # 对去白边后的初稿排版 
    with open("数据可视化大屏.html", "r+", encoding='utf-8') as 可视化大屏:                                       # 打开可视化大屏文件
        大屏源代码 = BeautifulSoup(可视化大屏, 'lxml')                                                           # 解析本地html文件 
        图表 = 大屏源代码.select('.chart-container')                                                            # 定位初稿中的图表
        
        图表[0]["style"] = f"width:{宽0};height:{高0}; position:absolute;top:0%;left:0%;"                      # 重新设置图表位置和大小
        图表[1]["style"] = f"width:{宽1};height:{高1}; position:absolute;top:1%;left:28%;"
        图表[2]["style"] = f"width:{宽2};height:{高2}; position:absolute;top:3.3%;left:75%;" 
        图表[3]["style"] = f"width:{宽3};height:{高3}; position:absolute;top:5%;left:3%;"
        图表[4]["style"] = f"width:{宽4};height:{高4}; position:absolute;top:33%;left:3%;" 
        图表[5]["style"] = f"width:{宽5};height:{高5}; position:absolute;top:60%;left:-2%;"
        图表[6]["style"] = f"width:{宽6};height:{高6}; position:absolute;top:60%;left:13%;"
        图表[7]["style"] = f"width:{宽7};height:{高7}; position:absolute;top:5%;left:33%;" 
        图表[8]["style"] = f"width:{宽8};height:{高8}; position:absolute;top:67%;left:30%;" 
        图表[9]["style"] = f"width:{宽9};height:{高9}; position:absolute;top:63.5%;left:47%;"
        图表[10]["style"] = f"width:{宽10};height:{高10}; position:absolute;top:5%;left:67%;"
        图表[11]["style"] = f"width:{宽11};height:{高11}; position:absolute;top:33%;left:67%;"
        图表[12]["style"] = f"width:{宽12};height:{高12}; position:absolute;top:60%;left:67%;"
        大屏源代码 = str(大屏源代码)                                                                             # 将源代码转字符串格式                                                                                         
        可视化大屏.seek(0)                                                                                     # 将光标移动到文件开头                 
        可视化大屏.truncate()                                                                                  # 删除光标后所有内容
        可视化大屏.write(大屏源代码)                                                                             # 写入经过去白边的源代码
        可视化大屏.close()                                                                                     # 保存关闭文件
def 去除白边():                                                                                                # 去除大屏周围的白边
    with open("数据可视化大屏.html", "r+", encoding='utf-8') as 可视化大屏:                                       # 打开可视化大屏文件
        大屏源代码 = BeautifulSoup(可视化大屏, 'lxml')                                                           # 解析本地html文件 
        大屏源代码 = str(大屏源代码)                                                                             # 将源代码转字符串格式
        
        大屏源代码 = 大屏源代码.replace('<p class="title" style="font-size: 18px; font-weight:bold;"> </p>','')  # 删除产生白边的代码
        大屏源代码 = 大屏源代码.replace('<p class="subtitle" style="font-size: 12px;"> </p>','')                 # 删除产生白边的代码
        大屏源代码 = 大屏源代码.replace('</head>','<style>img {display:block;}</style></head>')                  # 删除产生白边的代码
        
        可视化大屏.seek(0)                                                                                     # 将光标移动到文件开头                 
        可视化大屏.truncate()                                                                                  # 删除光标后所有内容
        可视化大屏.write(大屏源代码)                                                                             # 写入经过去白边的源代码
        可视化大屏.close()                                                                                     # 保存关闭文件
def 自动启动():                                                                                                # 自动启动大屏
    webbrowser.open("数据可视化大屏.html")    
if __name__ == "__main__":                                                                                   # 执行整篇代码的入口
    制作初稿()
    排版调试()
    自动启动()
    去除白边()




讯享网

小讯
上一篇 2025-02-16 17:08
下一篇 2025-03-09 07:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/62563.html