发文量统计,echarts展示

发布于:2025-09-09 ⋅ 阅读:(23) ⋅ 点赞:(0)

from pyecharts.charts import Bar
from pyecharts import options as opts
from selenium import webdriver
import pandas as pd
from sqlalchemy import create_engine


user = 'root'
password = '123456'
host = '192.168.1.191'
port = 3309
database = 'aminer'


engine = create_engine(f'mysql+pymysql://{user}:{password}@{host}:{port}/{database}')

df = pd.read_sql("SELECT id,title,releasetime FROM crawler_feachdata", con=engine)

#print(df.head())
#df_2024 = df[df['releasetime'].dt.year == 2024]
df['year'] = df['releasetime'].dt.year
df['month'] = df['releasetime'].dt.month
#monthly_count = df.groupby(df['releasetime'].dt.month).size()
monthly_count = df.groupby(['year','month']).size().reset_index(name='count')
monthly_count = df.groupby(['year','month']).size().reset_index(name='count')

monthly_count['year_month'] = monthly_count.apply(
    lambda row: f"{int(row['year'])}-{int(row['month']):02d}", axis=1
)

if __name__=="__main__":
    bar=Bar()
    bar.add_xaxis(monthly_count['year_month'].tolist())
    bar.add_yaxis('发文量',monthly_count['count'].tolist())
    bar.set_global_opts(title_opts=opts.TitleOpts(title='2024年发文量'),datazoom_opts=[opts.DataZoomOpts()])#xaxis_opts=opts.AxisOpts(type_="time")
    bar.render("bar_char.html")
    d=webdriver.Firefox()
    d.get('file:///C:/Users/cdg19/Desktop/1%20(2)/bar_char.html')
 


网站公告

今日签到

点亮在社区的每一天
去签到