python 不引入画图_不用第三方库,也能用 Python 作图,效果还不错

5c21192933273548a4ad897df987fb2e.png

一提到用 Python 作图,很多人第一个想到的库肯定是 Matplotlib ,功能强大,但是相应地安装所需要的依赖就多。有些开发者在自己的工作流中有简单作图的需求,但是又不希望引入依赖关系复杂的 Matplotlib,所以就有了 Chart。

Chart 是一个非常新的类库,上线 Github 仅有 10 多天的时间,Star 数也不多。不过我觉得比较有意思,大家可以阅读项目的源代码,学习如何自己开发绘图功能。

基本功能

Chart 目前仅支持三种图表类型:柱形图、散点图和直方图,图表数据点可以使用自定义的标记。该库的一个特点,在开头我们也提到了,就是没有任何的第三方依赖,完全是使用标准库中的库实现的。

柱形图

柱形图的创建,非常地简单,传入标签和具体的值等数据,即可快速实现。下面是作者给出的示例:from chart import bar

x = [500, 200, 900, 400]

y = ['marc', 'mummify', 'chart', 'sausagelink']

bar(x, y)

柱形图默认的数据点标记图形,是 ▇,但是也支持自定义。marc: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇

mummify: ▇▇▇▇▇▇▇

chart: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇

sausagelink: ▇▇▇▇▇▇▇▇▇▇▇▇▇

比如说,可以改成:

e480547d889d8de204821f74495bfc14.png

从上面的示例,还可以看出, bar 函数还接受 pandas 数据框的列数据

直方图

直方图也很简单,提供了 histogram 快捷函数。

b78796d0a76c94733f989920b7c28580.png

散点图

49549120184180f047c0730ca1ae50f1.png

RangeScaler

以 bar 图形为例,我们看到 x 轴的值相差可能会非常大:[500,200,900,400],示例中最大有 700 的差值。在显示图表的时候,我们知道屏幕的范围是有限的,因此必须要限制柱形的最大高度。

给定数值范围后,就需要对 x 轴的值进行预处理,将所有的数据统一到同一个范围内,这也是整个库最为重要、最为核心的部分了。

bec9bf399948b9d78f61032eae424fcc.png

结语

开头提到,这个库的功能简单,没有任何依赖,因此代码量很少,非常适合大家阅读它的源代码。

刚才用到的 bar、histogram、scatter 和 RangeScaler 等函数,建议收藏本文后,进入项目页面查看相关源代码。

好的,下面是一个简单的 Python 处理 Excel 数据并画图的示例: 首先,我们需要安装 `pandas`、`matplotlib` 和 `openpyxl` 这三个。可以使用以下命令进行安装: ```python pip install pandas matplotlib openpyxl ``` 然后,假设我们有一个 Excel 文件 `data.xlsx`,其中有一个名为 `Sheet1` 的工作表,包含以下数据: | 日期 | 销售额 | | --------- | -------- | | 2021/1/1 | 1000 | | 2021/1/2 | 1500 | | 2021/1/3 | 2000 | | 2021/1/4 | 2200 | | 2021/1/5 | 1800 | | 2021/1/6 | 1300 | | 2021/1/7 | 1700 | | 2021/1/8 | 2100 | | 2021/1/9 | 2300 | | 2021/1/10 | 2500 | 我们可以使用以下代码读取这个 Excel 文件并将数据绘制成折线图: ```python import pandas as pd import matplotlib.pyplot as plt # 读取 Excel 文件 df = pd.read_excel('data.xlsx', sheet_name='Sheet1') # 绘制折线图 plt.plot(df['日期'], df['销售额']) plt.title('销售额趋势图') plt.xlabel('日期') plt.ylabel('销售额') plt.show() ``` 运行这段代码,就会得到如下的折线图: ![销售额趋势图](https://img-blog.csdn.net/20180529201512631?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2hpbmdHUFQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/80) 这个示例中,我们使用了 `pandas` 读取 Excel 文件中的数据,并使用 `matplotlib` 绘制了折线图。如果需要将图表保存为图片文件,可以使用 `plt.savefig()` 方法。例如: ```python plt.savefig('sales.png') ``` 这将把图表保存为名为 `sales.png` 的图片文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值