利用lab01数据表绘制图表:线图、散点图、条形图、饼图、直方图、箱线图和雷达图

本文将使用Python中的matplotlib库绘制lab01数据表的各种图表,包括线图、散点图、条形图、饼图、直方图、箱线图和雷达图,并添加不同的属性和格式设置。

1. 绘制数据表中total profit的线图,并要求具有如下属性:

  • 趋势线为虚线,颜色为红色
  • 在右下角显示图例
  • 图题为‘图一:全年公司售卖数据’
  • X轴标签为Month Number
  • Y轴标签为Sold units number
  • 标识点为红圈圆点
  • 线条宽度为3

2. 绘制每个月toothpaste售卖量的散点图,并要求具有如下属性:

  • 图例在绘图的左上角
  • 标识点为蓝色叉叉
  • 图题为‘图二:牙膏售卖量散点图’
  • X轴标签为Month Number
  • Y轴标签为Number of Units Sold
  • 背景加网格,网格形式为‘-’

3. 绘制face cream售卖量的条形图,并具有如下特征

  • 图例在绘图的左上角
  • 图题为‘图三:洗面奶和面霜售卖量对比条形图’
  • X轴标签为Month Number
  • Y轴标签为Sales Units in Number
  • 背景加网格,网格形式为‘-’

4. 计算去年每种商品的总售卖量,并绘制各商品售卖额的饼图

  • 图例在绘图的右下角
  • 显示每种商品售卖额所占百分比数值
  • 图题为‘图四:各商品售卖额占比图’

5. 绘制个月售卖额的直方图,并添加分布密度曲线

  • 图例在绘图的左上
  • 图题为‘图五:售卖额条形分布图’
  • X轴标签为Profit Range in dollar
  • Y轴标签为Frequency Counts

6. 绘制toothpaste、face cream和face wash售卖量的箱线图

7. 根据如下数据绘制该同学各门课程成绩的雷达图

科目:物理、化学、生物、数学、英语 成绩:60、40、68、94、77

示例代码:

import matplotlib.pyplot as plt
import pandas as pd

# 读取数据表
data = pd.read_csv('lab01.csv')

# 绘制线图
plt.figure(figsize=(10, 6))
plt.plot(data['Month Number'], data['Total Profit'], 'ro-', linewidth=3, linestyle='dashed', markersize=8, label='Total Profit')
plt.legend(loc='lower right')
plt.title('Figure 1: Annual Sales Data')
plt.xlabel('Month Number')
plt.ylabel('Sold units number')

# 绘制散点图
plt.figure(figsize=(10, 6))
plt.scatter(data['Month Number'], data['Toothpaste'], c='blue', marker='x', label='Toothpaste')
plt.legend(loc='upper left')
plt.title('Figure 2: Toothpaste Sales')
plt.xlabel('Month Number')
plt.ylabel('Number of Units Sold')
plt.grid(True, linestyle='-')

# 绘制条形图
plt.figure(figsize=(10, 6))
plt.bar(data['Month Number'], data['Face Cream'], width=0.4, label='Face Cream')
plt.bar(data['Month Number'], data['Face Wash'], width=0.4, label='Face Wash', alpha=0.7)
plt.legend(loc='upper left')
plt.title('Figure 3: Sales of Face Cream and Face Wash')
plt.xlabel('Month Number')
plt.ylabel('Sales Units in Number')
plt.grid(True, linestyle='-')

# 计算商品售卖额
total_sales = data[['Face Cream', 'Face Wash', 'Toothpaste']].sum()

# 绘制饼图
plt.figure(figsize=(10, 6))
plt.pie(total_sales, labels=total_sales.index, autopct='%1.1f%%')
plt.legend(loc='lower right')
plt.title('Figure 4: Sales Proportion of Each Product')

# 绘制直方图
plt.figure(figsize=(10, 6))
plt.hist(data['Total Profit'], bins=10, density=True, edgecolor='black', alpha=0.7)
plt.title('Figure 5: Profit Distribution')
plt.xlabel('Profit Range in dollar')
plt.ylabel('Frequency Counts')
plt.legend(loc='upper left')

# 绘制箱线图
plt.figure(figsize=(10, 6))
plt.boxplot([data['Toothpaste'], data['Face Cream'], data['Face Wash']], labels=['Toothpaste', 'Face Cream', 'Face Wash'])
plt.title('Figure 6: Sales of Toothpaste, Face Cream and Face Wash')

# 绘制雷达图
subjects = ['Physics', 'Chemistry', 'Biology', 'Mathematics', 'English']
scores = [60, 40, 68, 94, 77]

plt.figure(figsize=(8, 8))
plt.polar()
plt.plot(subjects + [subjects[0]], scores + [scores[0]], 'r-', linewidth=2)
plt.fill(subjects + [subjects[0]], scores + [scores[0]], 'r', alpha=0.3)
plt.title('Radar Chart: Student's Scores')
plt.xticks(rotation=45)

plt.show()

请确保已经安装了matplotlib和pandas库,并将数据表(lab01.csv)与代码放在同一个文件夹中。你可以根据需要自定义图形的大小、颜色、样式等属性。

利用lab01数据表绘制图表:线图、散点图、条形图、饼图、直方图、箱线图和雷达图

原文地址: https://www.cveoy.top/t/topic/fbpu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录