使用Python可视化实现循环作图
Python爬虫与数据挖掘
共 3548字,需浏览 8分钟
·
2022-06-18 01:06
回复“资源”即可获赠Python学习资料
大家好,我是皮皮。
一、前言
前几天在Python白银交流群【在 途中要勤奋的熏肉肉】问了一道Python
可视化处理的问题,如下图所示。
![](https://filescdn.proginn.com/6b14666eb7130ad599d0fba3113aac22/f897a5939faeb7f817656b19df549716.webp)
原始代码,如下所示:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st
result_parameter_peak = pd.read_csv("result_parameter_peak.csv", encoding="utf_8_sig")
# 设置画布
fig = plt.figure(figsize=(20, 8)) # figsize是常用的参数.(宽,高)
axl = fig.add_subplot(1, 1, 1)
for i in range(len(result_parameter_peak)):
x = np.arange(0, 400, 1)
# 绘制gamma曲线
y661 = st.gamma.pdf(x, result_parameter_peak.iloc[i, 1], scale=result_parameter_peak.iloc[i, 2])
axl.plot(x, y661, 'r-.', label="α= 9.9028,β=10.4205")
# 设置坐标轴标题
axl.set_xlabel('Time')
axl.set_ylabel('Probility')
axl.set_title('分布')
# 可视化
plt.show()
得到的只是单个的图。
![](https://filescdn.proginn.com/cdf1665e2ef52d7059d0b5aaa550f7fb/c140763a3adb939531ecffffe8751beb.webp)
二、实现过程
这里【月神】给了一个思路和一份示例代码,如下所示:
![](https://filescdn.proginn.com/cff80922f883f13c45fccacdb0377369/7e27b350c5ad9f7de9e0e2cf8099cab3.webp)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st
result_parameter_peak = pd.read_csv("result_parameter_peak.csv", encoding="utf_8_sig")
plt.figure()
for i, alpha, beta in result_parameter_peak.itertuples():
x = np.arange(0, 300, 1)
# 绘制gamma曲线
y661 = st.gamma.pdf(x, alpha, scale=beta)
plt.plot(x, y661, '-.')
# 设置坐标轴标题
plt.xlabel('Time')
plt.ylabel('Probility')
plt.title('分布')
# 可视化
plt.show()
运行之后,结果如下图所示:
![](https://filescdn.proginn.com/9abeeeb4f59c56c7ba9d61c14870742c/c384e6654548c873ae3f182c5845b5e6.webp)
顺利地解决了粉丝的问题!
![](https://filescdn.proginn.com/4fca6853f68182b81c753381f103976d/605865bf88cc717f9965ad1594ab4ae0.webp)
后来【小趴菜】又给图加了图注,看上去高大上一些,代码如下所示:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st
result_parameter_peak = pd.read_csv("result_parameter_peak.csv", encoding="utf_8_sig")
plt.figure()
for i, alpha, beta in result_parameter_peak.itertuples():
x = np.arange(0, 300, 1)
# 绘制gamma曲线
y661 = st.gamma.pdf(x, alpha, scale=beta)
# plt.plot(x, y661, '-.')
plt.plot(x, y661, '-.', label="α:" + str(alpha) + "β:" + str(beta))
# 设置坐标轴标题
plt.xlabel('Time')
plt.ylabel('Probility')
plt.title('fenbu')
# 可视化
plt.legend()
plt.show()
得到的效果图如下所示:
![](https://filescdn.proginn.com/4f8dd040554d2de795a42f5ed88e2d41/b2bc449d2674cd06e5cd295737a6ec3f.webp)
三、总结
大家好,我是皮皮。这篇文章主要盘点了一道matplotlib
作图的问题,文中针对该问题给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
最后感谢粉丝【在 途中要勤奋的熏肉肉】提问,感谢【月神】、【小趴菜】给出的思路和代码解析,感谢【dcpeng】、【千葉ほのお】、【德善堂小儿推拿-瑜亮老师】、【猫药师Kelly】、【Ming】等人参与学习交流。
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
------------------- End -------------------
往期精彩文章推荐:
![](https://filescdn.proginn.com/a32fbc1b1efe214161ce3a21aba077d0/23ee42d141e3b45b725e84258910bc2c.webp)
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
评论
加速 Python for 循环
👇我的小册 45章教程:(小白零基础用Python量化股票分析小册) ,原价299,限时特价2杯咖啡,满100人涨10元。来源:deephub在本文中,我将介绍一些简单的方法,可以将Python for循环的速度提高1.3到900倍。Python内建的一个常用功能是timeit模块。下面几节中我们将
菜鸟学Python
1
加速Python for循环
(点击上方快速关注并设置为星标,一起学Python)来源丨deephub在本文中,我将介绍一些简单的方法,可以将Python for循环的速度提高1.3到900倍。Python内建的一个常用功能是timeit模块。下面几节中我们将使用它来度量循环的当前性能和改进后的性能。对于每种方法,我们通过运行测
i小码哥
0