python的pareto图(类似于matlab,但更灵活)-fork来自@tintrinh
rogeriopradoj-paretochart的Python项目详细描述
@Rogeriopradoj Paretochart-Rogeriopradoj Paretochart-来自@tintrinh的叉子
Python 3的p>Pareto chart(类似于Matlab,但更灵活)-@从ttInInh分支。功能
-
图1 x x的数据标签<强>。
- 完全可定制,具有唯一的
arg
和kwarg
输入:- bar chart:跟随matplotlib.pyplot.bar函数的输入(使用
bar_args=(...)
和bar_kw={...}
)。 - cumulative line:跟随matplotlib.pyplot.plot函数的输入(使用
line_args=(...)
和line_kw={...}
)。 - limit line:跟随matplotlib.axes.Axes.axhline函数的输入(使用
limit_kw={...}
)。
- bar chart:跟随matplotlib.pyplot.bar函数的输入(使用
- 将图表放在任意轴上。
示例
首先,一个简单的导入:
fromparetochart.paretochartimportpareto
现在,让我们创建数字数据(无需预排序)::
data=[21,2,10,4,16]
我们甚至可以指定X轴标签(以与数据相同的顺序)::
labels=['tom','betty','alyson','john','bob']
在本例中,我们将创建4个显示自定义 功能:
importmatplotlib.pyplotasplt# create a grid of subplotsfig,axes=plt.subplots(2,2)
第一个绘图将是最简单的用法,只使用数据:
pareto(data,axes=axes[0,0])plt.title('Basic chart without labels',fontsize=10)
在第二个图中,我们将添加标签,将累积限制设置为0.75(或75%)。 并将累计线转为绿色:
pareto(data,labels,axes=axes[0,1],limit=0.75,line_args=('g',))plt.title('Data with labels, green cum. line, limit=0.75',fontsize=10)
在第三个图中,我们将删除累积线和限制线,使 条形图为绿色,并将其宽度调整为0.5::
pareto(data,labels,cumplot=False,axes=axes[1,0],data_kw={'width':0.5,'color':'g'})plt.title('Data without cum. line, green bar width=0.5',fontsize=10)
在第四个图中,我们把累积极限设为95%,然后画出这条线 黄色:
pareto(data,labels,limit=0.95,axes=axes[1,1],limit_kw={'color':'y'})plt.title('Data trimmed at 95%, yellow limit line',fontsize=10)
最后,但并非最不重要的是,让我们显示图像:
fig.canvas.set_window_title('Pareto Plot Test Figure')plt.show()
这将导致以下图像(click here如果图像没有 显示):
安装
由于这是一个单独的python文件,您可以简单地转到
github页面,只需下载paretochart.py
并将其放入
python可以找到的目录。
或者,可以使用::
pip install --upgrade rogeriopradoj-paretochart
如果您使用的是python2,则可以使用原始@tintrinh的项目::
pip install --upgrade paretochart
开发和发布新版本
使用来自https://medium.com/@joel.barmettler/how-to-upload-your-python-package-to-pypi-65edc5fe9c56的知识。
- 定义下一个版本号(尝试遵循semver 2
- 在代码库中进行更改
- 更新
setup.py
:- 版本
- 下载网址
- 更新
README.md
:- pareto图测试图url
- 提交、标记并推送到Git Central Repo
- 创建源分发,并验证它:
python setup.py sdist
twine check dist/*
- 将源上载到pypi:
twine upload dist/*