目录
一、绘制斜率为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:生活中微小的确定的幸福