数据可视化大屏(柱状图、条形图、情感分析饼图、地域图、词云图、数据表格图、涟漪散点图)

本文介绍了如何使用pyecharts库绘制各种图形,包括柱状图、饼图、词云图、地域图、数据表格、涟漪散点图和条形图,详细展示了每种图形的代码实现和效果。最后,展示了如何整合这些图形生成数据可视化大屏,并分享了在制作过程中的经验与注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于pyecharts.charts绘制图形

最终效果展示:

在这里插入图片描述

准备工作

import pandas as pd
from pyecharts.charts import Map, Pie, Bar, WordCloud, Page, EffectScatter  # 制作图形
from pyecharts.components import Table  # 制作表格
from pyecharts import options as opts
from pyecharts.globals import ThemeType  # 全局设置主题颜色
import numpy as np
from snownlp import SnowNLP     # 情感分析

theme_config = ThemeType.CHALK  # 颜色方案

# 表格和标题的颜色(设置多种主题)绘制图形的底色
table_color = ""
if theme_config == ThemeType.DARK:
    table_color = '#333333'
elif theme_config == ThemeType.CHALK:
    table_color = '#293441'
elif theme_config == ThemeType.PURPLE_PASSION:
    table_color = '#5B5C6E'
elif theme_config == ThemeType.ROMANTIC:
    table_color = '#F0E8CD'
elif theme_config == ThemeType.ESSOS:
    table_color = '#FDFCF5'
else:
    table_color = ''

# 读取文件(根据自己的数据文件来)
df_file = pd.read_csv("../data/微博评论_女篮世界杯.csv", parse_dates=["评论时间"])

看一眼我的爬虫数据:(我用的是csv读取,也可以先存入到数据库中在进行读取)
在这里插入图片描述

1、柱状图

def bar():
    #parse_dates=['评论时间']只有在后面加评论时间时,才能将时间格式化
    df = df_file
    data = df[['评论点赞数']]
    # 设置分段
    bins = [0, 2, 5, 10, 50, 500, 100000]
    # 设置标签
    labels = ['0-2', '2-5', '5-10', '10-50', '50-500', '500-10w']

    # 按分段离散化数据
    segments = pd.cut(data['评论点赞数'], bins, labels=labels)  # 按分段切割数据
    counts = pd.value_counts(segments, sort=False).values.tolist()  # 统计个数

    c = (
        Bar(init_opts=opts.InitOpts(theme=theme_config, width="450px",
                                    height="350px", chart_id=1))  # 初始化条形图
            .add_xaxis(labels, )  # 增加x轴数据
            .add_yaxis("点赞量", counts)  # 增加y轴数据
            .set_global_opts(
        legend_opts=opts.LegendOpts(pos_left='right'),
        title_opts=opts.TitleOpts(title="点赞量区间分布-柱形图", pos_left='center'),  # 标题
        toolbox_opts=opts.ToolboxOpts(is_show=False, ),  # 不显示工具箱
        xaxis_opts=opts.AxisOpts(name="点赞量",  # x轴名称
                                 axislabel_opts=opts.LabelOpts(font_size=8)),  # 字体大小
        yaxis_opts=opts.AxisOpts(name="评论数",
                                 axislabel_opts={
   "rotate": 0},
                                 splitline_opts=opts.SplitLineOpts(is_show=True,
                                    linestyle_opts=opts.LineStyleOpts(type_='solid')),
                                 ),  # y轴名称
    )
    # 标记最大值
    .set_series_opts(
        markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max",
                                       name="最大值"), ],symbol_size=35)  # 标记符号大小
        )
    )
    c.render("1.html")
    print('生成完毕:评论数分布-柱形图.html')
    return c

效果展示:
在这里插入图片描述

2、饼状图

def pie():
    df = pd.read_csv("../data/微博评论_乔欣.csv")
    <
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值