目录
二、使用Matplotlib绘制招聘职位数量关系的线图,通过Pandas读取数据绘制折线图
三、使用Matplotlib绘制房价与房屋面积的散点图,数据通过Pandas读取表格
四、使用Matplotlib绘制不同季度不同产品销售额的柱状图
五、使用Matplotlib绘制不同季度不同产品销售额关系的饼状图
六、使用Matplotlib绘制sin()和cos() 函数
七、使用Matplotlib绘制不同季度单一产品销售额关系的柱状图
一、绘制斜率为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:生活中微小的确定的幸福