数学建模--matplot.pyplot(结尾附线条样式表格)

发布于:2025-07-24 ⋅ 阅读:(16) ⋅ 点赞:(0)

matplotlib.pyplot绘图接口

1. 用法

导入模块
import matplotlib.pyplot as plt
import numpy as np  # 用于生成示例数据
绘制简单图表
# 生成数据
x = np.linspace(0, 10, 100)
y = np.sin(x)

# 创建图形和坐标轴
plt.figure(figsize=(8, 4))  # 设置图表大小
plt.plot(x, y, label='sin(x)')  # 绘制曲线
plt.title('正弦函数')  # 添加标题
plt.xlabel('X轴')  # 添加x轴标签
plt.ylabel('Y轴')  # 添加y轴标签
plt.legend()  # 显示图例
plt.grid(True)  # 显示网格线
plt.show()  # 显示图表

2. 类型

折线图
plt.plot(x, y, color='blue', linewidth=2, linestyle='-', marker='o')
散点图
x = np.random.rand(50)
y = np.random.rand(50)
plt.scatter(x, y, s=50, c='red', alpha=0.6)
柱状图
categories = ['A', 'B', 'C', 'D']
values = [25, 40, 30, 15]
plt.bar(categories, values, color='skyblue')
直方图
data = np.random.normal(0, 1, 1000)
plt.hist(data, bins=30, alpha=0.7, color='purple')
饼图
sizes = [30, 25, 20, 15, 10]
labels = ['A', 'B', 'C', 'D', 'E']
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)

3. 多图布局

使用subplotsubplots在同一窗口显示多个图表:

fig, axes = plt.subplots(2, 2, figsize=(10, 8))  # 创建2x2网格

# 绘制四个不同的图表
axes[0, 0].plot(x, np.sin(x))
axes[0, 1].scatter(x, np.random.rand(len(x)))
axes[1, 0].bar(categories, values)
axes[1, 1].hist(data, bins=30)

plt.tight_layout()  # 自动调整布局
plt.show()

4. 样式

  • 颜色:使用名称(如'red')、十六进制码(如'#FF5733')或RGB值。
  • 线条样式linestyle='--'(虚线)、marker='x'(标记点)。
  • 字体设置
    plt.rcParams['font.size'] = 12  # 全局字体大小
    plt.title('标题', fontweight='bold')
    

保存图表

plt.savefig('my_plot.png', dpi=300, bbox_inches='tight')

以下是Matplotlib中常用的线条样式(linestyle参数)和标记样式(marker参数)的表格总结,方便你快速查阅:

样式表格(当然也建议访问官方文档

1. 线条样式(linestyle)

代码 描述 示例效果
'-' 实线 ─────────
'--' 虚线 ----------
'-.' 点划线 -.-.-.-.-
':' 点线 :::::::::
'' 无线条(仅标记)

2. 标记样式(marker)

代码 描述 示例效果
'.' 小点
'o' 圆圈
's' 正方形
'^' 上三角形
'v' 下三角形
'*' 星形
'x' 叉号
'+' 加号
'D' 菱形

3. 使用示例

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 10)

plt.figure(figsize=(10, 6))

# 实线 + 圆圈标记
plt.plot(x, x, '-o', label='实线+圆圈')

# 虚线 + 方形标记
plt.plot(x, x+1, '--s', label='虚线+方形')

# 点划线 + 三角形标记
plt.plot(x, x+2, '-.^', label='点划线+三角形')

# 点线 + 星形标记
plt.plot(x, x+3, ':*', label='点线+星形')

plt.legend()
plt.show()

4. 线条属性补充

  • 线宽linewidthlw参数(如lw=2
  • 颜色color参数(如color='red'或简写c='r'
  • 透明度alpha参数(0-1之间,如alpha=0.5

网站公告

今日签到

点亮在社区的每一天
去签到