python绘图多坐标轴的处理

在撰写论文过程中,作者尝试用Python将三个属性结合到一个序列的图表中,以面积和颜色分别表示第二和第三个属性,但效果不佳。后来灵感突现,决定采用单横坐标多纵坐标的图表形式。通过查阅资料并实践,成功实现了这一需求,并分享了相关代码,最终图表效果良好。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天写论文,其中有张图需要将三个属性连接到一个序列上,本来想用面积表达第二,颜色表达第三个属性,又尝试了用三维图,发现效果都不好。

今天早上被一只蚊子弄的睡不着了,凌晨四点忽然想到干嘛不用单横坐标多纵坐标的形式解决呢。于是马上爬起来查阅相关文档完成了这一方面的内容,记录如下:

直接上代码吧。

import matplotlib.pyplot as plt 
import numpy as np
import math
import pandas as pd
 


df = pd.read_csv('p1fpa.csv')

sorted_df = df.sort_values(by='fps')

len = len(df)+1

sorted_df['no']= range(1,len)

# print(sorted_df)

fig,ax = plt.subplots(
编写一个WDM Windows驱动程序并确保其在Windows NT系统上成功加载运行是一个涉及多方面技能的过程。首先,你需要对Windows内核级编程有深入的理解,这包括对操作系统的内部工作原理、驱动程序架构和编程接口等有一个全面的认识。为此,我强烈推荐《深入解析Windows驱动程序模型开发教程》,这是一本详细指导如何开发Windows NT设备驱动程序的经典教程。 参考资源链接:[深入解析Windows驱动程序模型开发教程](https://wenku.youkuaiyun.com/doc/6498039cf8e98f67e0ab1b65?spm=1055.2569.3001.10343) 开始编写之前,你还需要准备相应的开发环境,比如安装Visual Studio和Windows Driver Kit (WDK)。有了这些工具之后,你可以开始编写驱动程序代码了。一个基本的WDM驱动程序通常包含以下关键步骤: 1. **创建驱动程序项目**:使用Visual Studio创建一个新的驱动程序项目,并选择适当的模板。 2. **编写DriverEntry例程**:这是驱动程序的入口点。在此例程中,你需要执行初始化驱动程序的操作,并注册一系列的回调函数,这些回调函数将在特定的系统事件发生时被调用。 3. **处理IRP请求**:实现必要的IRP处理例程以响应来自操作系统的输入/输出请求。例如,你需要处理IRP_MJ_CREATE、IRP_MJ_CLOSE、IRP_MJ_DEVICE_CONTROL等请求。 4. **设备堆栈与PnP管理**:编写代码以响应即插即用(PnP)事件,以及如何在设备堆栈中与其他驱动程序协同工作。 5. **调试和测试**:使用WinDbg和Visual Studio的调试工具进行代码调试,确保驱动程序按预期工作,并且没有内存泄漏或死锁等问题。 以下是一个非常简单的DriverEntry示例,用于演示驱动程序的骨架结构: ```c NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING RegistryPath) { UNREFERENCED_PARAMETER(RegistryPath); DriverObject->DriverUnload = UnloadDriver; DriverObject->DriverExtension->AddDevice = AddDeviceFunction; DriverObject->MajorFunction[IRP_MJ_CREATE] = DispatchCreateClose; DriverObject->MajorFunction[IRP_MJ_CLOSE] = DispatchCreateClose; DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = DispatchDeviceControl; return STATUS_SUCCESS; } ``` 在这个示例中,我们注册了一个卸载函数和一个处理设备创建和关闭的函数。IRP_MJ_DEVICE_CONTROL处理函数将由具体的应用程序命令调用。 通过以上步骤,你可以开始编写自己的WDM驱动程序。在开发过程中,我建议你反复参考《深入解析Windows驱动程序模型开发教程》,确保你的开发工作遵循最佳实践。此外,多加注意驱动程序的安全性和稳定性,避免常见的编程错误,如内存泄漏和资源管理不当。如果你在编写驱动程序时遇到任何问题,可以查阅这本书以找到解决方案,或者考虑加入相关的开发者社区以获取更多的帮助和资源。 参考资源链接:[深入解析Windows驱动程序模型开发教程](https://wenku.youkuaiyun.com/doc/6498039cf8e98f67e0ab1b65?spm=1055.2569.3001.10343)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值