python - 如何在 pyplot 折线图中添加参考线?
问题描述
我有一个数据框,我为其绘制了折线图并使用以下代码添加了参考号
plt.figure(figsize=(15,5))
plt.title('Parento Analysis',fontsize=20, color = 'blue')
plt.xlabel('Product', fontsize=14)
plt.ylabel('Sales Quantity', fontsize=14)
plt.plot(parento['Cum_Product%'], parento['Cum_Sales%'],linewidth=3.0)
plt.plot([10, 10], [0, 80], 'k-', lw=1,dashes=[2, 2])
plt.plot([0, 10], [80, 80], 'k-', lw=1,dashes=[2, 2])
plt.show()
我的解决方案对我来说似乎有点长。有没有其他捷径可以画出(10,80)的参考线?
解决方案
当然,
plt.plot([10, 10], [0, 80], 'k-', lw=1,dashes=[2, 2])
plt.plot([0, 10], [80, 80], 'k-', lw=1,dashes=[2, 2])
给出相同的
plt.plot([10, 10, 0], [0, 80, 80], 'k-', lw=1,dashes=[2, 2])
仅绘制一条线也更有效 - 尽管在只有 2 点的情况下它并不重要。
如果你需要更频繁地绘制这些参考线,你当然可以把它放在一个函数中,
import numpy as np
def refline(x, **kwargs):
y = np.interp(x, parento['Cum_Product%'], parento['Cum_Sales%'])
plt.plot([x, x, 0], [0, y, y], **kwargs)
并称它为
refline(10, color="k", lw=1, dashes=[2, 2])
推荐阅读
- node.js - 在 DialogFlow V2 中重置上下文
- javascript - 页面重新加载后未触发 window.onpopstate
- python-3.x - Python获取对象属性
- java - 从命令提示符执行 .jar 文件时发生 JNI 错误
- django - convert_datetimefield_value() 接受 4 个位置参数,但使用 django 和 mongodb 给出了 5 个
- botframework - 无法通过 Azure 机器人服务向你的机器人添加身份验证
- javascript - 如何在 React JS 中声明全局变量
- bash - 使用 shell/bash 脚本在不同的子目录中查找公共文件
- php - Laravel Restful API,创建和存储方法
- excel - Excel查找单元格中的每个单词并与列表匹配