Matplotlib数据可视化

Matplotlib数据可视化

  1. 用lipsticks数据做以下数据可视化
    (1)各大品牌市场占有率,排名前三的品牌名称(按品牌分组,饼图)
    (2)评论最多的三大品牌(柱状图,注意调整画布大小及其X轴字体角度)
    (3)判断是否搞活动折扣价越低会增加买家的评论数(数据标准化,彩色散点图)
    (4)原价、折扣价、评论数的彩色气泡图(彩色气泡图)
# 1 各大品牌市场占有率,排名前三的品牌名称(按品牌分组,饼图)
import matplotlib.pyplot as plt

# 设置字体以确保中文正常显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False


brand_comment_counts = data.groupby('品牌')['评论数'].sum().sort_values(ascending=False)

top_brands = brand_comment_counts.head(3)
plt.figure(figsize=(10, 7))
plt.pie(top_brands, labels=top_brands.index, autopct='%1.1f%%', startangle=140)
plt.title('Top 3 brands market share')
plt.show()

# 2 评论最多的三大品牌 (柱状图,注意调整画布大小及其X轴字体角度)
# Plot a bar chart for top 3 brands with the most comments
plt.figure(figsize=(12, 6))
plt.bar(top_brands.index, top_brands, color=['red', 'green', 'blue'])
plt.title('Top 3 brands with the most comments')
plt.xlabel('Brand')
plt.ylabel('Number of Comments')
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
plt.show()

# 3 判断是否搞活动折扣价越低会增加买家的评论数 (数据标准化,彩色散点图)
import random
import matplotlib.colors as mcolors
brands = data['品牌'].unique()  # 获取所有不同的品牌

# 生成随机颜色
colors = random.sample(list(mcolors.CSS4_COLORS.keys()), len(brands))
# 创建品牌到颜色的映射字典
brand_color_map = dict(zip(brands, colors))
# 将品牌映射到颜色并创建一个新的颜色列
data['颜色'] = data['品牌'].map(brand_color_map)
data_std = (data - data.mean()) / data.std()


plt.figure(figsize=(12, 6))
plt.scatter(data_std['折扣价'], data_std['评论数'], c=data['颜色'], cmap='viridis', edgecolors='k', s=100)
plt.title('Do lower discounts lead to more reviews?')
plt.xlabel('Discount Price (standardized)')
plt.ylabel('Number of Reviews (standardized)')
plt.colorbar(label='Brand')
plt.tight_layout()
plt.show()

# 4 原价、折扣价、评论数的彩色气泡图 (彩色气泡图)

plt.figure(figsize=(12, 6))
plt.scatter(data['原价'], data['折扣价'], s=data['评论数']*10, c=data['颜色'], cmap='viridis', edgecolors='k', alpha=0.6)
plt.title('Price, Discount Price, and Number of Reviews')
plt.xlabel('Original Price')
plt.ylabel('Discount Price')
plt.colorbar(label='Brand')
plt.tight_layout()
plt.show()
  1. 对rate1(国家对科技资金投入)数据做可视化分析(第一问40分,第二问、第三问各30分)注意先对数据进行数据预处理(去重:删除空行;查看缺失值;处理缺失值;再次査看缺失值,缺失值都为零再做可视化)
  2. (1)每个国家2005-2015资金投入的箱线组图
  3. (2)2005-2015年各个国家的投资情况折线图(说明每个国家哪一年投入最多)
  4. (3)绘制2006年各个国家对科技资金投入的条形图(说明哪个国家最多,哪个国家最少)

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值