python中的三个包numpy matplotlib pandas三个包不会使用恳求各位教教我代码写,柱形图一直创建失败,谢谢大家!





python中的三个包numpy matplotlib pandas三个包不会使用恳求各位教教我代码写,柱形图一直创建失败,谢谢大家!





sjkakalal 晚上好🌙🌙🌙
本答案参考通义千问
要解决您提出的Python中pandas和matplotlib包使用问题,我们将分步骤为您演示如何绘制所需的柱状图和饼图。以下是针对各个任务的具体解决方案:
实验一:绘制男女科目平均成绩柱状图
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 数据准备
data = {'学科': ['语文', '数学', '英语', '物理', '化学', '生物'],
'男': [85.5, 91, 72, 59, 66, 55],
'女': [94, 82, 89.5, 62, 49, 53]}
df = pd.DataFrame(data)
# 绘制普通柱状图
plt.figure(figsize=(10, 6))
plt.bar(df['学科'], df['男'], label='男生', color='#8B0000')
plt.bar(df['学科'], df['女'], bottom=df['男'], label='女生', color='#006374')
plt.xlabel('学科')
plt.ylabel('平均成绩')
plt.title('男女科目平均成绩柱状图')
plt.legend()
plt.show()
# 绘制堆积柱状图
plt.figure(figsize=(10, 6))
plt.stackplot(df['学科'], df['男'], df['女'])
plt.xlabel('学科')
plt.ylabel('平均成绩')
plt.title('男女科目平均成绩堆积柱状图')
plt.xticks(rotation=0) # 旋转x轴标签以适应内容
plt.show()
实验二:绘制拼多多子类目销售额饼图
import pandas as pd
import matplotlib.pyplot as plt
# 数据准备
sales_data = {'子类目': ['童装', '奶粉辅食', '孕妈专区', '洗护喂养', '宝宝尿裤', '春夏新品', '童车童床', '玩具文娱', '童鞋'],
'销售额(亿)': [29665, 3135.4, 4292.4, 5240.9, 5543.4, 5633.8, 6414.5, 9308.1, 10353]}
df_sales = pd.DataFrame(sales_data)
# 绘制饼图
plt.figure(figsize=(10, 6))
plt.pie(df_sales['销售额(亿)'], labels=df_sales['子类目'], autopct='%1.1f%%', startangle=140, explode=(0, 0.1, 0, 0, 0, 0, 0, 0.1, 0), wedgeprops=dict(width=0.2))
plt.title('拼多多子类目销售额占比饼图')
plt.show()
实验三:绘制2018/2019年快递业务量折线图
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import cm
plt.style.use('fivethirtyeight') # 设置主题风格
# 数据准备
months = list(range(1, 13))
year_2018 = [39, 20, 40, 38, 42, 43, 7, 41, 45, 48, 52, 50]
year_2019 = [45, 28, 48, 49, 50, 51, 50, 50, 51, 52, 70, 65]
# 创建DataFrame
data = {'月份': months,
'2018年业务量(亿件)': year_2018,
'2019年业务量(亿件)': year_2019}
df_business = pd.DataFrame(data)
# 绘制折线图
fig, ax = plt.subplots(figsize=(10, 6))
# 绘制2018年折线
ax.plot(months, year_2018, color='#8B0000', marker='^', linestyle='--', linewidth=1.5, label='2018年')
# 绘制2019年折线
ax.plot(months, year_2019, color='#006374', marker='D', linestyle='-', linewidth=1.5, label='2019年')
ax.set_xlabel('月份')
ax.set_ylabel('业务量 (亿件)')
ax.set_title('2018/2019年快递业务量折线图')
ax.yaxis.set_label_text("业务量 (亿件)", fontsize=12) # 添加y轴标签文本
ax.tick_params(labelsize=10) # 调整刻度标签字体大小
ax.grid(True, linestyle='--', linewidth=0.5) # 添加网格线
ax.legend(title="年份", loc='upper left', prop={'size': 12}) # 图例标题与字体大小
plt.show()
上述代码涵盖了根据您提供的要求绘制所需图形的所有关键部分。您可以将这些代码复制到您的Python环境中运行它们,并生成对应的柱状图、堆积柱状图、饼图以及折线图。如果遇到任何问题,请随时向我们提问。