经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
小提琴图的绘制方法:Python matplotlib实现
来源:cnblogs  作者:疯狂学习GIS  时间:2023/10/17 11:02:28  对本文有异议

本文介绍基于Pythonmatplotlib模块与seaborn模块,利用多个列表中的数据,绘制小提琴图(Violin Plot)的方法。

小提琴图作为一种将箱型图核密度图分别所能表达的信息相结合的数据可视化图,在数据分析中得以广泛应用;本文就详细介绍在Python中,对存储于多个列表(List)中的数据,绘制小提琴图的方法。其中,绘制得到的结果如下图所示。

本文用到的完整代码如下所示。

  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Thu Dec 1 18:55:01 2022
  4. @author: fkxxgis
  5. """
  6. import matplotlib.pylab as plt
  7. import seaborn as sns
  8. import pandas as pd
  9. pic_save_name = "E:/Pic/Violin.png"
  10. li_1 = [1, 2, 3]
  11. li_2 = [2.5, 5, 10, 8, 4, 5, 9, 9.5]
  12. li_3 = [1.5, 2.5, 3.5, 6.5]
  13. plt.figure(dpi = 300)
  14. plt.rcParams["font.family"] = "SimSun"
  15. plt.rcParams["axes.unicode_minus"] = False
  16. label = ["第一个刻度标签", "第二个刻度标签", "第三个刻度标签"]
  17. font_1 = {"size": 14}
  18. sns.violinplot(data = [li_1, li_2, li_3])
  19. plt.xlabel("横坐标标签", font_1)
  20. plt.ylabel("纵坐标标签", font_1)
  21. plt.xticks(ticks = [0, 1, 2], labels = label, fontsize = 11)
  22. plt.yticks(fontsize = 12)
  23. plt.savefig(pic_save_name)
  24. plt.show()

其中,pic_save_name表示我们绘图完毕后,保存图片的路径;li_1li_2li_3是三个列表,其各自的元素个数可以相同,也可以不同,我们稍后需要分别对三者中的数据绘制小提琴图;plt.figure(dpi = 300)表示设置绘图的DPI300,其后的第一句代码plt.rcParams["font.family"] = "SimSun"表示图片中的图例、坐标轴标签与刻度标签都用宋体来表示,第二句代码plt.rcParams["axes.unicode_minus"] = False是为了防止图中出现无法绘制负号的情况;随后,label表示刻度标签的具体内容,font_1来设置坐标轴标签的字体大小。

接下来,我们即可通过sns.violinplot()函数绘制小提琴图;这一函数还有很多参数,可以调整小提琴图的各项可视化配置,具体大家可以查看函数的官方帮助文档。随后,通过plt.xlabel()函数、plt.xticks()函数等调整图片坐标轴标签、刻度标签的具体配置。最后,通过plt.savefig()函数将绘制好的小提琴图保存在指定路径中。

至此,大功告成。

原文链接:https://www.cnblogs.com/fkxxgis/p/17768423.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号