Python大作业——爬虫+可视化+数据分析+数据库(可视化篇)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from pyecharts import Bar, Line, Pie, Map, Grid
# 读取数据
df = pd.read_csv('data.csv')
# 设置图表样式
plt.style.use('fivethirtyeight')
# 设置画图时不中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 1. 不同年龄段用户数量分布直方图
ages = df['年龄'].dropna().astype(int).values
bins = np.arange(0, 101, 5)
labels = ['{}到{}岁'.format(bins[i], bins[i+1]) for i in range(len(bins)-1)]
fig, ax = plt.subplots(figsize=(20, 8))
ax.hist(ages, bins=bins)
ax.set_xticks(bins)
ax.set_xticklabels(labels)
ax.set_xlabel('年龄')
ax.set_ylabel('用户数')
ax.set_title('不同年龄段用户数量分布')
# 2. 不同性别用户数量统计
gender_counts = df['性别'].value_counts()
x_data = ['男', '女']
y_data = gender_counts.values
fig, ax = plt.subplots(figsize=(20, 8))
ax.bar(x_data, y_data)
ax.set_xlabel('性别')
ax.set_ylabel('用户数')
ax.set_title('不同性别用户数量统计')
# 显示图表
plt.show()
这段代码首先读取了数据文件 'data.csv',然后设置了图表的样式和中文字体,以及直方图中的年龄分组。接着,它创建了两个图表,一个是年龄段用户数量的直方图,另一个是用户性别的统计柱状图,并且最后显示了这些图表。这个例子展示了如何使用Matplotlib和Seaborn进行基本的数据可视化,并且如何设置图表的样式和中文支持。
评论已关闭