数据可视化实验三:Matplotlib绘图

目录

一、绘制斜率为3和5的直线图

1.1 代码实现

1.2 绘制结果

二、使用Matplotlib绘制招聘职位数量关系的线图,通过Pandas读取数据绘制折线图

2.1 代码实现

2.2 绘制结果

三、使用Matplotlib绘制房价与房屋面积的散点图,数据通过Pandas读取表格

3.1 代码实现

3.2 绘制结果

四、使用Matplotlib绘制不同季度不同产品销售额的柱状图

4.1 代码实现

4.2 绘制结果

五、使用Matplotlib绘制不同季度不同产品销售额关系的饼状图

5.1 代码实现

5.2 绘制结果

六、使用Matplotlib绘制sin()和cos() 函数

6.1 代码实现

6.2 绘制结果

七、使用Matplotlib绘制不同季度单一产品销售额关系的柱状图

7.1 代码实现

7.2 绘制结果

结尾语


一、绘制斜率为3和5的直线图

通过Numpy生成10个0~100的线性平均数据,然后通过plot()函数分别绘制斜率为3和5的直线图。

1.1 代码实现

import numpy as np
import matplotlib.pyplot as plt
# 中文字体调整
plt.rcParams['font.family'] = ['Arial Unicode Ms']

# 生成10个0~100的线性平均数据
x = np.linspace(0, 100, 10)
y = np.mean(x)

# plt.xlim(0)
# plt.ylim(0)
# 绘制斜率为3的直线
plt.plot(x, 3*x, label='k=3 直线', color='blue')

# 绘制斜率为5的直线
plt.plot(x, 5*x, label='k=5 直线', color='red')

# 设置坐标名及图表标签
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.title('斜率为3和5的直线图')
plt.legend()
plt.show()

1.2 绘制结果

注:标签的位置可通过调参的方式动态调整

二、使用Matplotlib绘制招聘职位数量关系的线图,通过Pandas读取数据绘制折线图

数据集:招聘内容.csv

序号

编号

内容

岗位

结算方式

单价

单位

0

10001

APP调研测试90元/单

调查员

日结

90

小时

1

10002

热门手游推广注册300元每天

调查员

日结

300

2

10003

每天200元聘手机在线兼职操作员

网上兼职

日结

200

3

10004

每天180元招聘热门手游推广注册

网上兼职

日结

180

4

10005

卫生纸制品厂诚聘销售经理

店员

月结

200

5

10006

招夜班服务生

店员

月结

200

6

10007

力宝台球室招兼职服务员

店员

月结

100

7

10008

农贸城劳力工

其他

月结

3000

8

10009

招聘物流送货员

物流

月结

100

9

10010

招聘空调安装维修学徒工

店员

月结

130

10

10011

餐厅水果摆盘

店员

月结

130

2.1 代码实现

import pandas as pd
import matplotlib.pyplot as plt
# 中文字体调整
plt.rcParams['font.family'] = ['Arial Unicode Ms']

# 从Excel文件中读取数据
data = pd.read_excel('招聘内容.csv')


df = pd.DataFrame(data)

# 统计每个岗位招聘的人数
job_counts = df['岗位'].value_counts()
print(job_counts)

# 根据得到的结果绘制折线图
plt.figure(figsize=(10, 6))
job_counts.plot(kind='line', marker='o', color='red')
# 设置标题和轴标签的大小
plt.title('招聘岗位数量关系', fontsize=16)
plt.xlabel('岗位', fontsize=14)
plt.ylabel('招聘数量', fontsize=14)


plt.grid(True)
plt.show()

2.2 绘制结果

注:为了能更明显的观察折线图中每个点的具体数据,我设置了网格进行辅助绘制。

三、使用Matplotlib绘制房价与房屋面积的散点图,数据通过Pandas读取表格

3.1 代码实现

import pandas as pd
import matplotlib.pyplot as plt
# 中文字体调整
plt.rcParams['font.family'] = ['Arial Unicode Ms']


# 从Excel文件中读取数据
df = pd.read_excel('房价.csv')
# 提取价格和面积数据
prices = df['价格']
areas = df['面积']

# 创建散点图
plt.figure(figsize=(8, 6))
plt.scatter(areas, prices, c=prices, s=areas/10, cmap='cool', alpha=0.6)  # 根据价格定制颜色和面积定制大小


# 添加标题和标签
plt.title('房价 vs 面积图')
plt.xlabel('面积')
plt.ylabel('价格')

# 显示散点图
plt.colorbar(label='价格')  # 添加颜色条
plt.show()

3.2 绘制结果

四、使用Matplotlib绘制不同季度不同产品销售额的柱状图

4.1 代码实现

import pandas as pd
import matplotlib.pyplot as plt

# 中文字体调整
plt.rcParams['font.family'] = ['Arial Unicode Ms']

# 从Excel文件中读取数据
data = pd.read_excel('销售额.csv')
# 创建DataFrame
df = pd.DataFrame(data)

# 设置图形大小和清晰度
plt.figure(figsize=(10, 6), dpi=99)

# 绘制多次柱状图,并设置宽度
bar_width = 0.2
# 组距
index = df.index
# 绘制柱状图并选择
plt.bar(index, df['产品A'], width=bar_width, label='产品A', color='skyblue')
plt.bar(index + bar_width, df['产品B'], width=bar_width, label='产品B', color='lightgreen')
plt.bar(index + 2 * bar_width, df['产品C'], width=bar_width, label='产品C', color='plum')
plt.bar(index + 3 * bar_width, df['产品D'], width=bar_width, label='产品D', color='lightsalmon')


# 添加标题和标签
plt.title('不同季度不同产品销售额关系')
plt.xlabel('季度')
plt.ylabel('销售额')
# 设置x坐标标签
plt.xticks(index + 1.5 * bar_width, df['季度'])
plt.legend()

# 显示图例
plt.legend()

# 显示图形
plt.show()

4.2 绘制结果

注:直接将不同季度不同产品的销售额关系显示出来,更加直观;同时为了图更加美观,选择了四种比较美观大方的颜色

五、使用Matplotlib绘制不同季度不同产品销售额关系的饼状图

数据集同上

5.1 代码实现

import pandas as pd
import matplotlib.pyplot as plt

# 中文字体调整
plt.rcParams['font.family'] = ['Arial Unicode Ms']

# 从 CSV 文件中读取数据
df = pd.read_csv('销售额.csv', encoding='utf-8', sep='\t', index_col=0)

# 绘制饼状图
fig, axs = plt.subplots(2, 2, figsize=(12, 12))  # 调整图表大小

for i, quarter in enumerate(df.index):
    row = i // 2
    col = i % 2
    axs[row, col].pie(df.loc[quarter], labels=df.columns, autopct='%1.1f%%', startangle=140)
axs[row, col].set_title(quarter)
plt.tight_layout()
plt.show()

5.2 绘制结果

六、使用Matplotlib绘制sin()和cos() 函数

6.1 代码实现

import numpy as np
import matplotlib.pyplot as plt

# 中文字体调整
plt.rcParams['font.family'] = ['Arial Unicode Ms']
# 生成 x 值,从 0 到 2π 之间均匀采样的 100 个点
x = np.linspace(0, 2 * np.pi, 100)

# 计算 sin 和 cos 值
y_sin = np.sin(x)
y_cos = np.cos(x)

# 绘制 sin 曲线
plt.plot(x, y_sin, label='sin(x)', color='blue')

# 绘制 cos 曲线
plt.plot(x, y_cos, label='cos(x)', color='red')

# 设置标签
plt.xlabel('x')
plt.ylabel('y')
plt.title(' sin(x)和cos(x)曲线图')
plt.legend()
plt.show()

6.2 绘制结果

七、使用Matplotlib绘制不同季度单一产品销售额关系的柱状图

7.1 代码实现

import pandas as pd
import matplotlib.pyplot as plt

# 创建数据,时间原因
data = {
    '季度': ['第一季度', '第二季度', '第三季度', '第四季度'],
    '产品A': [124, 117, 201, 156],
    '产品B': [159, 89, 169, 139],
    '产品C': [138, 156, 153, 128],
    '产品D': [161, 178, 158, 136]
}



# 设置中文字体
plt.rcParams['font.family'] = ['Arial Unicode MS']

# 创建子图
fig, axs = plt.subplots(2, 2, figsize=(6, 6))

# 绘制柱状图
products = ['产品A', '产品B', '产品C', '产品D']
colors = ['skyblue', 'salmon', 'palegreen', 'plum']
for i in range(2):
    for j in range(2):
        index = 2 * i + j
        axs[i, j].bar(df['季度'], df[products[index]], color=colors[index])
        axs[i, j].set_title(products[index])

plt.tight_layout()
plt.show()

7.2 绘制结果

注:分别绘制了四个产品在各季度的销售额情况(单一情况)

结尾语

Habseligkeit:生活中微小的确定的幸福

  • 12
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长安er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值