Python3,通过画图获取网络总IO情况。

本博客介绍了一个使用Python进行网络I/O监控并实时绘制图表的简单示例。通过循环收集网络发送字节数,并利用matplotlib库进行可视化,展示了如何实时监控网络活动。

1.代码实现

import time
import psutil
import matplotlib.pyplot as plt

data =[]
for i in range(10):
    data.append(psutil.net_io_counters().bytes_sent)
    time.sleep(2)
plt.plot(range(10),data)
plt.show()
print(data)

2.输出结果

[18914403, 18914703, 18914941, 18915089, 18915237, 18915385, 18915533, 18915681, 18915829, 18915977]

在这里插入图片描述

### 使用Python进行绘图的方法 Python 提供了许多强大的绘图库来满足不同场景下的需求。以下是几个常用的绘图库及其基本用法: #### 1. **Matplotlib** Matplotlib 是 Python 中最流行的绘图库之一,能够生成高质量的数据可视化图表。它支持多种输出格式以及跨平台交互式环境。 - 基础安装命令: ```bash pip install matplotlib ``` - 示例代码:绘制一条简单的折线图。 ```python import matplotlib.pyplot as plt import numpy as np x = [1, 2, 3, 4, 5] y = [2, 3, 5, 7, 11] plt.plot(x, y, label='Line', color='blue') # 设置线条的颜色和标签 plt.title('Simple Line Plot') # 添加标题 plt.xlabel('X-axis Label') # X轴标签 plt.ylabel('Y-axis Label') # Y轴标签 plt.legend() # 显示图例 plt.show() ``` 此代码展示了如何利用 `plt.plot()` 函数创建一个基础的线性图[^1]。 #### 2. **Seaborn** Seaborn 是基于 Matplotlib 构建的一个高级统计绘图库,提供了更美观的默认样式和一些复杂的统计图形功能。 - 安装命令: ```bash pip install seaborn ``` - 示例代码:绘制带有误差带的折线图。 ```python import seaborn as sns import pandas as pd sns.set_theme(style="darkgrid") df = pd.DataFrame({ 'time': range(10), 'value': np.random.randn(10).cumsum(), }) sns.lineplot(data=df, x='time', y='value') plt.show() ``` 这段代码演示了 Seaborn 如何简化复杂数据集的可视化过程[^2]。 #### 3. **Plotly** Plotly 支持动态、交互式的图表制作,非常适合用于 Web 应用程序开发中的数据分析与展示。 - 安装命令: ```bash pip install plotly ``` - 示例代码:生成可交互散点图。 ```python import plotly.express as px df = px.data.iris() fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species", size='petal_length', hover_data=['petal_width']) fig.show() ``` 这里介绍了 Plotly Express 接口快速构建互动性强的视觉效果的能力[^3]。 #### 4. **Bokeh** 另一个专注于大型数据集处理并提供高度自定义选项的交互式可视化工具包是 Bokeh。 - 安装命令: ```bash pip install bokeh ``` - 示例代码:显示时间序列上的圆圈标记。 ```python from math import pi from bokeh.palettes import Category20c from bokeh.transform import cumsum from bokeh.io import show, output_file from bokeh.models import ColumnDataSource from bokeh.plotting import figure output_file("pie.html") x = {f'Category_{i}': i*2 for i in range(1,8)} data = pd.Series(x).reset_index(name='value').rename(columns={'index':'category'}) data['angle'] = data['value']/data['value'].sum() * 2*pi data['color'] = Category20c[len(x)] source = ColumnDataSource(data=data) p = figure(plot_height=350, title="Pie Chart Example", toolbar_location=None, tools="hover", tooltips="@category: @value", x_range=(-0.5, 1.0)) p.wedge(x=0, y=1, radius=0.4, start_angle=cumsum('angle', include_zero=True), end_angle=cumsum('angle'), line_color="white", fill_color='color', legend_field='category', source=source) show(p) ``` 该例子说明了 Bokeh 创建饼状图的方式[^4]。 ### 结 对于初学者来说,建议从 Matplotlib 开始学习,因为它简单易懂且应用广泛;如果需要更高层次抽象或者更好看的主题风格,则可以考虑转向 Seaborn;而当项目涉及到实时更新或用户交互时,Plotly 和 Bokeh 将成为更好的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值