Python 之利用matplotlib.pyplot 生成图形和图表

文章目录

在这里插入图片描述

介绍

matplotlib.pyplot是Matplotlib库的一个子模块,它提供了一个简单的界面来创建各种类型的图形和图表。使用pyplot,您可以轻松创建、定制和显示图形,而无需编写大量的底层代码。以下是matplotlib.pyplot的一些常见用法:

  1. 导入模块: 首先,您需要导入matplotlib.pyplot模块。通常,它被导入为plt,这是一个常用的约定:

    import matplotlib.pyplot as plt
    
  2. 创建图表: 使用plt.figure()来创建一个新的图表。如果您不显式创建图表,pyplot将自动创建一个默认图表。

    plt.figure()
    
  3. 绘制数据: 使用plt.plot()来绘制数据。您可以传入X轴和Y轴的数据作为参数,并通过可选的参数来设置线条的样式、颜色、标记等。例如:

    x = [1, 2, 3, 4, 5]
    y = [10, 15, 13, 18, 16]
    plt.plot(x, y, marker='o', linestyle='-')
    
  4. 添加标签和标题: 使用plt.xlabel()plt.ylabel()plt.title()来添加X轴和Y轴的标签以及图表的标题:

    plt.xlabel('X轴标签')
    plt.ylabel('Y轴标签')
    plt.title('图表标题')
    
  5. 自定义图表外观: 您可以使用各种方法来自定义图表的外观,包括设置线宽、颜色、标记、刻度、标签等。例如:

    plt.plot(x, y, marker='o', linestyle='-', color='blue', linewidth=2, label='数据1')
    
  6. 图例: 如果您在图表中有多个数据集,可以使用plt.legend()来添加图例,以便区分它们。需要在绘图时为每个数据集添加label参数,然后调用plt.legend()来显示图例。

    plt.plot(x1, y1, label='数据集1')
    plt.plot(x2, y2, label='数据集2')
    plt.legend()
    
  7. 保存图表: 使用plt.savefig()可以将图表保存为图像文件,以便以后使用或分享。

    plt.savefig('my_plot.png')
    
  8. 显示图表: 最后,使用plt.show()来显示图表。这个函数通常在您完成所有图表定制后调用。

    plt.show()
    

这只是matplotlib.pyplot的基础用法。Matplotlib还提供了更多高级功能,如子图、3D绘图、文本注释、颜色映射等。要了解更多详细信息,建议查阅Matplotlib的官方文档和示例库。

运用

先来看一个代码

import matplotlib.pyplot as plt

# 数据
频率 = [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]
周期 = [10, 5, 3.36, 2.48, 2, 1.68, 1.44, 1.28, 1.12, 1]
#用来能够显示中文
plt.rcParams['font.sans-serif'] = ['SimHei']
# 创建图表
plt.figure(figsize=(8, 6))
plt.plot(频率, 周期, marker='o', linestyle='-')
plt.title('周期随着频率变化')
plt.xlabel('频率(Hz)')
plt.ylabel('周期(ms)')
plt.grid(True)

# 显示图表
plt.show()

效果展示
在这里插入图片描述

### Plotly Express Matplotlib Pyplot 的比较 #### 功能特性 Plotly Express 是一个高层级的接口,专注于快速创建交互式的可视化图表[^1]。Matplotlib Pyplot 则是一个较为底层的绘图库,提供更细粒度的控制选项[^2]。 对于 Plotly Express 而言,其优势在于能够轻松生成复杂的交互式图形,并且内置了许多美观的主题支持多种类型的图表,如散点图、线形图、柱状图等。而这些操作通常只需要几行简洁的代码即可完成。例如: ```python import plotly.express as px df = px.data.iris() fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species") fig.show() ``` 相比之下,Matplotlib Pyplot 更适合那些需要高度自定义化的场景。虽然它也支持丰富的图表种类,但在实现相同效果时往往需要编写更多的配置代码。下面是一段使用 Matplotlib 绘制类似图形的例子: ```python import matplotlib.pyplot as plt from sklearn.datasets import load_iris import pandas as pd data = load_iris() df = pd.DataFrame(data=data['data'], columns=data['feature_names']) df['species'] = data.target plt.figure(figsize=(8, 6)) for species in set(df.species): subset = df[df.species == species] plt.scatter(subset["sepal width (cm)"], subset["sepal length (cm)"]) plt.xlabel('Sepal Width') plt.ylabel('Sepal Length') plt.title('Iris Dataset Sepal Measurements by Species') plt.legend(['Setosa', 'Versicolor', 'Virginica']) plt.grid(True) plt.show() ``` #### 用户体验 由于 Plotly Express 支持 HTML 渲染并允许用户通过鼠标悬停获取更多信息,因此非常适合在线分享或嵌入网页应用中。此外,该工具还具备良好的跨平台兼容性响应速度,在处理大数据集方面表现尤为出色[^3]。 另一方面,Matplotlib 主要面向桌面环境下的静态图像输出,尽管也可以导出为矢量格式文件以便于出版物质量级别的打印。然而,当涉及到复杂的数据探索任务或是实时更新的需求时,则可能显得不够灵活[^4]。 #### 性能考量 就性能而言,两者各有千秋。对于小型到中型规模的数据集来说,两者的渲染效率相差不大;但对于非常庞大的数据集合,尤其是超过数万条记录的情况下,Plotly Express 凭借高效的 WebGL 技术仍能保持流畅的操作体验,而 Matplotlib 可能在某些极端情况下遇到内存溢出的风险[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值