如何以CPU使用率与温度为轴绘制差值列的散点图?
解决方法
错误原因很明确:你调用df['dif'].plot(...)时操作的是Series对象,而散点图(scatter)只能通过DataFrame调用——因为它需要同时指定X、Y两个轴对应的列(这俩列都得在DataFrame里)。另外注意:你代码里写的x='util'和y='temp'是无效的,必须用DataFrame里实际的列名:"CPU Utilization %"和"CPU Temperature °С"。
下面是两种正确的实现方式:
方式一:用pandas DataFrame直接绘图(推荐)
通过整个DataFrame调用plot,指定X/Y轴列,同时用c参数把dif列的值映射为点的颜色,直观展示dif的分布:
df.plot( kind='scatter', x='CPU Utilization %', y='CPU Temperature °С', c='dif (CPU Utilization - CPU Temperature)', cmap='viridis' # 可选颜色映射,换其他比如'plasma'也可以 )
执行后会自动生成带颜色条的散点图,颜色条对应dif列的数值大小。
方式二:用matplotlib直接绘制(更灵活)
如果你需要更多自定义设置,比如调整标签样式、颜色条位置,直接用matplotlib:
import matplotlib.pyplot as plt # 绘制散点图,c参数绑定dif列 plt.scatter( df['CPU Utilization %'], df['CPU Temperature °С'], c=df['dif (CPU Utilization - CPU Temperature)'], cmap='viridis' ) # 设置轴标签和颜色条标签 plt.xlabel('CPU Utilization %') plt.ylabel('CPU Temperature °С') plt.colorbar(label='dif (CPU Utilization - CPU Temperature)') plt.show()
内容的提问来源于stack exchange,提问作者Egor
相关产品推荐
相关产品推荐

