Python常用画图代码(折线图、柱状图、饼图)

简介: Python常用画图代码(折线图、柱状图、饼图)

简单记录一下最简单常用的三种论文插图的python画图代码,以作备忘。

有很多很牛b的作图教程,我也学不来,就扔给大家自己学吧:

  • 如何在论文中画出漂亮的插图?[1]

折线图

代码

import numpy as np
import matplotlib.pyplot as plt
# x轴刻度标签
x_ticks = ['a', 'b', 'c', 'd', 'e', 'f']
# x轴范围(0, 1, ..., len(x_ticks)-1)
x = np.arange(len(x_ticks))
# 第1条折线数据
y1 = [5, 3, 2, 4, 1, 6]
# 第2条折线数据
y2 = [3, 1, 6, 5, 2, 4]
# 设置画布大小
plt.figure(figsize=(10, 6))
# 画第1条折线,参数看名字就懂,还可以自定义数据点样式等等。
plt.plot(x, y1, color='#FF0000', label='label1', linewidth=3.0)
# 画第2条折线
plt.plot(x, y2, color='#00FF00', label='label2', linewidth=3.0)
# 给第1条折线数据点加上数值,前两个参数是坐标,第三个是数值,ha和va分别是水平和垂直位置(数据点相对数值)。
for a, b in zip(x, y1):
    plt.text(a, b, '%d'%b, ha='center', va= 'bottom', fontsize=18)
# 给第2条折线数据点加上数值
for a, b in zip(x, y2):
    plt.text(a, b, '%d'%b, ha='center', va= 'bottom', fontsize=18)
# 画水平横线,参数分别表示在y=3,x=0~len(x)-1处画直线。
plt.hlines(3, 0, len(x)-1, colors = "#000000", linestyles = "dashed")
# 添加x轴和y轴刻度标签
plt.xticks([r for r in x], x_ticks, fontsize=18, rotation=20)
plt.yticks(fontsize=18)
# 添加x轴和y轴标签
plt.xlabel(u'x_label', fontsize=18)
plt.ylabel(u'y_label', fontsize=18)
# 标题
plt.title(u'Title', fontsize=18)
# 图例
plt.legend(fontsize=18)
# 保存图片
plt.savefig('./figure.pdf', bbox_inches='tight')
# 显示图片
plt.show()

效果

柱状图

代码

import numpy as np
import matplotlib.pyplot as plt
# x轴刻度标签
x_ticks = ['a', 'b', 'c', 'd', 'e', 'f']
# 柱的宽度
barWidth = 0.25
# 第1个柱的x轴范围(每个柱子的中点)(0, 1, ..., len(x_ticks)-1)
x1 = np.arange(len(x_ticks))
# 第2个柱的x轴范围(每个柱子的中点)
x2 = [x + barWidth for x in x1]
# 第1个柱数据
y1 = [5, 3, 2, 4, 1, 6]
# 第2个柱数据
y2 = [3, 1, 6, 5, 2, 4]
# 设置画布大小
plt.figure(figsize=(10, 6))
# 画第1个柱
plt.bar(x1, y1, color='#FF0000', width=barWidth, label='label1')
# 画第2个柱
plt.bar(x2, y2, color='#00FF00', width=barWidth, label='label2')
# 给第1个柱数据点加上数值,前两个参数是坐标,第三个是数值,ha和va分别是水平和垂直位置(数据点相对数值)。
for a, b in zip(x1, y1):
    plt.text(a, b, '%d'%b, ha='center', va= 'bottom', fontsize=18)
# 给第2个柱数据点加上数值
for a, b in zip(x2, y2):
    plt.text(a, b, '%d'%b, ha='center', va= 'bottom', fontsize=18)
# 画水平横线
plt.hlines(3, 0, len(x_ticks)-1+barWidth, colors = "#000000", linestyles = "dashed")
# 添加x轴和y轴刻度标签
plt.xticks([r + barWidth/2 for r in x1], x_ticks, fontsize=18)
plt.yticks(fontsize=18)
# 添加x轴和y轴标签
plt.xlabel(u'x_label', fontsize=18)
plt.ylabel(u'y_label', fontsize=18)
# 标题
plt.title(u'Title', fontsize=18)
# 图例
plt.legend(fontsize=18)
# 保存图片
plt.savefig('./figure.pdf', bbox_inches='tight')
# 显示图片
plt.show()

效果

饼图

代码

import numpy as np
import matplotlib.pyplot as plt
# 设置画布大小
plt.figure(figsize=(10, 10))
# 设置每块区域的标签
labels = ['a', 'b', 'c', 'd', 'e']
# 设置每块区域离圆心的距离,这里a区域凸出一点点
explode = [0.05, 0.01, 0.01, 0.01, 0.01]
# 设置每块区域的值
values = [1, 5, 2, 4, 3]
# 设置每块区域的颜色
colors = ['#F5DEB3', '#87CEFA', '#FFB6C1', '#90EE90', '#D3D3D3']
_, l_text, p_text = plt.pie(values, explode=explode, labels=labels, autopct='%1.1f%%', colors=colors)
# 设置标签字体大小
for t in l_text:
    t.set_size(18)
# 设置数值字体大小
for t in p_text:
    t.set_size(18)
# 标题
plt.title(u'Title', fontsize=18)
# 图例
plt.legend(fontsize=18)
# 保存图片
plt.savefig('./figure.pdf', bbox_inches='tight')
# 显示图片
plt.show()

效果

相关文章
|
2月前
|
开发框架 数据建模 中间件
Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器是那些静悄悄的幕后英雄。它们不张扬,却能默默地为函数或类增添强大的功能。本文将带你了解装饰器的魅力所在,从基础概念到实际应用,我们一步步揭开装饰器的神秘面纱。准备好了吗?让我们开始这段简洁而富有启发性的旅程吧!
56 6
|
3月前
|
存储 缓存 测试技术
Python中的装饰器:功能增强与代码复用的利器
在Python编程中,装饰器是一种强大而灵活的工具,它允许开发者以简洁优雅的方式增强函数或方法的功能。本文将深入探讨装饰器的定义、工作原理、应用场景以及如何自定义装饰器。通过实例演示,我们将展示装饰器如何在不修改原有代码的基础上添加新的行为,从而提高代码的可读性、可维护性和复用性。此外,我们还将讨论装饰器在实际应用中的一些最佳实践和潜在陷阱。
|
24天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
2月前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
78 33
|
3月前
|
人工智能 数据挖掘 Python
Python编程基础:从零开始的代码旅程
【10月更文挑战第41天】在这篇文章中,我们将一起探索Python编程的世界。无论你是编程新手还是希望复习基础知识,本文都将是你的理想之选。我们将从最基础的语法讲起,逐步深入到更复杂的主题。文章将通过实例和练习,让你在实践中学习和理解Python编程。让我们一起开启这段代码之旅吧!
|
2月前
|
JavaScript API C#
【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息
根据Graph API文档,在单个请求中将多个成员添加到组时,Python代码示例中的`members@odata.bind`被错误写为`members@odata_bind`,导致用户未成功添加。
54 10
|
2月前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
108 8
|
2月前
|
API Python
【Azure Developer】分享一段Python代码调用Graph API创建用户的示例
分享一段Python代码调用Graph API创建用户的示例
68 11
|
2月前
|
测试技术 Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界中,装饰器是那些能够为我们的代码增添魔力的小精灵。它们不仅让代码看起来更加优雅,还能在不改变原有函数定义的情况下,增加额外的功能。本文将通过生动的例子和易于理解的语言,带你领略装饰器的奥秘,从基础概念到实际应用,一起开启Python装饰器的奇妙旅程。
57 11
|
2月前
|
Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器就像是给函数穿上了一件神奇的外套,让它们拥有了超能力。本文将通过浅显易懂的语言和生动的比喻,带你了解装饰器的基本概念、使用方法以及它们如何让你的代码变得更加简洁高效。让我们一起揭开装饰器的神秘面纱,看看它是如何在不改变函数核心逻辑的情况下,为函数增添新功能的吧!

热门文章

最新文章