numpy 折线图绘制(参考)

本文详细介绍了如何利用numpy库在Python中创建折线图,涵盖了数据准备、调用matplotlib库、设置图表属性等步骤,是初学者掌握numpy绘图的实用教程。
import matplotlib.pyplot as plt
import numpy as np


# # 创建画布
# plt.figure()
#
# # 想用中文必须进行设置RC参数
# plt.rcParams['font.sans-serif'] = 'SimHei'
# # 设置RC参数字体,让其支持中文
# plt.rcParams['axes.unicode_minus'] = False
# # 设置RC参数编码,让其支持负号
# # 绘制图形
# # 默认不支持负号
# x = np.arange(-2*np.pi, 2*np.pi, 0.1)
# y1 = np.sin(x)
# y2 = np.cos(x)
# plt.plot(x, y1)
# plt.plot(x, y2)
#
# # 增加图例
# plt.legend(['y1=sinx', 'y2=cosx'])
#
# # 增加标题 默认不知处中文
# plt.title('x的sin图和cos图关系')
#
# # 增加x轴y轴标签
# plt.xlabel('x值')
# plt.ylabel('y值', rotation=0)
#
# # 进行图形展示
# plt.show()

# 绘制天气图

# 创建画布
plt.figure(figsize=(10, 8), dpi=80)
# 想用中文必须进行设置RC参数
plt.rcParams['font.sans-serif'] = 'SimHei'
# 设置RC参数字体,让其支持中文
plt.rcParams['axes.unicode_minus'] = False
#  准备数据,绘图['周一','周二','周三','周四','周五','周六','周日']
x = range(1, 8)
y = [28, 30, 26, 24, 27, 33, 25]

# 进行组合
for i, j in zip(x, y):
    plt.text(i, j+0.2, "%d℃" % j)
plt.xlabel('日期')
plt.ylabel('温度/℃', rotation=0)

# 增加图例
# plt.legend()
plt.title('下周北京天气变化图')

plt.plot(x, y, color='r', linestyle=':', linewidth=1.2, marker='*',
         markersize=7, markerfacecolor='b', markeredgecolor='g', label='北京下周温度')
'''
color 线条颜色
linestyle 线条形状
linewidth 线条宽度
marker 点的形状
markerfacecolor 点的颜色
markeredgecolor 点的边框颜色
'''
# 图例增加必须在画图之后
plt.legend()
# 刻度显示 x=[1,2,3,4,5,6,7]
plt.xticks(x, ['周一', '周二', '周三', '周四', '周五', '周六', '周日'])
# 增加y_ticks进行纵轴均匀显示---axis这个参数值必须是字符串
y_ticks = np.arange(0, 36)
# 设置y轴刻度 不要改变y值。所以需要另外去定义列表进行更改
plt.yticks(y_ticks[::2])
# 增加网格线显示,axis参数值必须是字符串
plt.grid(b=True, axis='y')

# 保存图片
plt.savefig('北京下周天气图')
# 展示图形
plt.show()

# 应用场景
# 某一产品变化趋势
# 比如游戏在线人数的趋势
# 某款app下载量随时间的变化趋势

### 使用 NumPy 和 Matplotlib 绘制折线图 以下是利用 `numpy` 生成数据并结合 `matplotlib` 的 `subplots()` 函数来绘制折线图的示例代码: #### 示例代码 ```python import numpy as np import matplotlib.pyplot as plt # 创建数据 x = np.linspace(0, 10, 100) # 在区间 [0, 10] 上创建 100 个均匀分布的数据点 y1 = np.sin(x) # 正弦波作为第一条曲线 y2 = np.cos(x) # 余弦波作为第二条曲线 # 调用 subplots() 方法创建子图 fig, axs = plt.subplots(nrows=2, ncols=1, figsize=(8, 6), dpi=100) # 绘制第一条折线图 axs[0].plot(x, y1, label='sin(x)', color='blue', linestyle='-') axs[0].set_title('Sine Wave') # 设置第一个子图标题 axs[0].legend() # 绘制第二条折线图 axs[1].plot(x, y2, label='cos(x)', color='red', linestyle='--') axs[1].set_title('Cosine Wave') # 设置第二个子图标题 axs[1].legend() # 显示图形 plt.tight_layout() plt.show() ``` 上述代码实现了以下功能: - 利用 `np.linspace` 生成一组均匀分布的 x 值[^1]。 - 计算正弦和余弦值分别存储到变量 `y1` 和 `y2` 中。 - 使用 `subplots()` 创建了一个具有两行一列布局的绘图区域,其中 `nrows=2`, `ncols=1` 定义了子图的数量及其排列方式[^1]。 - 对每个子图调用了 `.plot()` 方法绘制对应的折线图,并设置了颜色、线条样式以及标签等属性。 #### 结果说明 运行以上代码后会显示一张包含两个子图的窗口。上半部分展示的是正弦波形,下半部分则是余弦波形。每幅图都有独立的坐标轴范围与标注信息。 --- 问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值