脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - python实现多条折线图在一张图上显示

python实现多条折线图在一张图上显示

2023-10-23 16:32青枫浦上看桃花 Python

相信很多初学的小伙伴会有这样的疑问,画一条折线图倒是简单,那么画多条折线图呢?其实会画一条折线图,那么多条折线图也不会很难,通过这篇文章相信你会有所了解了。

前言

相信很多初学的小伙伴会有这样的疑问,画一条折线图倒是简单,那么画多条折线图呢?其实会画一条折线图,那么多条折线图也不会很难,通过这篇文章相信你会有所了解了。

简介

        如果分类标签是文本并且代表均匀分布的数值(如月、季度或财政年度),则应该使用折线图。当有多个系列时,尤其适合使用折线图 — 对于一个系列,应该考虑使用类别图。如果有几个均匀分布的数值标签(尤其是年),也应该使用折线图。如果拥有的数值标签多于十个,请改用散点图。另外,折线图是支持多数据进行对比的。

类型

折线图具有下列图表子类型:

BDP折线图(单线、多线)(2)折线图和带数据标记的折线图 折线图用于显示随时间或有序类别而变化的趋势,可能显示数据点以表示单个数据值,也可能不显示这些数据点。在有很多数据点并且它们的显示顺序很重要时,折线图尤其有用。

 区别

       堆积折线图和带数据标记的堆积折线图:堆积折线图用于显示每一数值所占大小随时间或有序类别而变化的趋势,可能显示数据点以表示单个数据值,也可能不显示这些数据点。如果有很多类别或者数值是近似的,则应该使用无数据点堆积折线图。

提示为更好地显示此类型的数据,您可能要考虑改用堆积面积图。

百分比堆积折线图和带数据标记的百分比堆积折线图:百分比堆积折线图用于显示每一数值所占百分比随时间或有序类别而变化的趋势,

三维折线图:三维折线图将每一行或列的数据显示为三维标记。三维折线图具有可修改的水平轴、垂直轴和深度轴。

一、数据源

python实现多条折线图在一张图上显示

二、实现的代码

import pandas as pd
import matplotlib.pyplot as plt

# 设置正常显示中文标签
plt.rcParams['font.sans-serif'] = ['SimHei']
# 正常显示负号
plt.rcParams['axes.unicode_minus'] = False
# 设置字体大小
plt.rcParams.update({'font.size': 16})
data = pd.read_excel('./农林牧渔业各总产值.xlsx',header=0, index_col=0)
#print('data:\n',data)



x = data['年份'].tolist()
#print(x)

y1 = data['渔业总产值(亿元)'].tolist()
y2 = data['畜牧业总产值(亿元)'].tolist()
y3 = data['林业总产值(亿元)'].tolist()
y4 = data['农业总产值(亿元)'].tolist()
# print(y1)
# print(y2)
# print(y3)
fig = plt.figure(figsize=( 16, 8))

plt.title('农林牧渔业各总产值分布情况',fontsize=26, loc='center', color='k')  # 折线图标题
plt.rcParams['font.sans-serif'] = ['SimHei']  # 显示汉字
plt.xlabel('年份')  # x轴标题
plt.ylabel('总产值:亿元')  # y轴标题
plt.plot(x, y1, marker='o', markersize=3)  # 绘制折线图,添加数据点,设置点的大小
plt.plot(x, y2, marker='o', markersize=3)
plt.plot(x, y3, marker='o', markersize=3)
plt.plot(x, y4, marker='o', markersize=3)


# for a, b in zip(x, y1):
#     plt.text(a, b, b, ha='center', va='bottom', fontsize=10)  # 设置数据标签位置及大小
# for a, b in zip(x, y2):
#     plt.text(a, b, b, ha='center', va='bottom', fontsize=10)
# for a, b in zip(x, y3):
#     plt.text(a, b, b, ha='center', va='bottom', fontsize=10)
# for a, b in zip(x, y4):
#     plt.text(a, b, b, ha='center', va='bottom', fontsize=10)
#

plt.legend(['渔业总产值(亿元', '畜牧业总产值(亿元)', '林业总产值(亿元)', '农业总产值(亿元)'])  # 设置折线名称
plt.savefig('./figure.jpg', bbox_inches='tight')
plt.show()  # 显示折线图

三、结果展示

python实现多条折线图在一张图上显示

 四、绘制多图

import matplotlib.pyplot as plt
import numpy as np

#plot 1:
x = np.array([0, 6])
y = np.array([0, 100])

plt.subplot(2, 2, 1)
plt.plot(x,y)
plt.title("plot 1")

#plot 2:
x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])

plt.subplot(2, 2, 2)
plt.plot(x,y)
plt.title("plot 2")

#plot 3:
x = np.array([1, 2, 3, 4])
y = np.array([3, 5, 7, 9])

plt.subplot(2, 2, 3)
plt.plot(x,y)
plt.title("plot 3")

#plot 4:
x = np.array([1, 2, 3, 4])
y = np.array([4, 5, 6, 7])

plt.subplot(2, 2, 4)
plt.plot(x,y)
plt.title("plot 4")

plt.suptitle("RUNOOB subplot Test")
plt.show()

显示结果如下:

python实现多条折线图在一张图上显示

 五、制作图的技巧

1.“字体”的处理

建议:取消图表的字体“自动缩放”功能,这样可防止在变动图表大小时,图表项的字体发生不必要的改变。

取消所有图表项的“自动缩放”功能,要取消所有图表项的字体“自动缩放”功能,取消图表区的“字体缩放“功能即可。可通过双击图表区,并调出“图表区格式”对话框,切换到“字体”选项卡,取消“自动缩放”前面的复选框的选择,这样便是取消了所有图表项的字体缩放功能,然后分别对各图表项的字体按需要设定字体大小。

2.“网格线”的处理

使用“折线图”或“散点图”时,尤其要注意淡化网格线对数据系列的影响,可取消网格线或是将其设为虚线,并改为浅色。

3. 数据系列格式的设置

一般不使用默认的格式设置,根据自己的需求改变“线形“或是“数据标记”及“填充”。

如截图中,上面的一个图表进行的是普通格式化操作;而下面一个是采取如上几点格式化建议后的图表。

到此这篇关于python实现多条折线图在一张图上显示的文章就介绍到这了,更多相关内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/qq_58546982/article/details/130970161

延伸 · 阅读

精彩推荐
  • PythonPython requests的SSL证书验证方式

    Python requests的SSL证书验证方式

    这篇文章主要介绍了Python-requests的SSL证书验证方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    _Miya8802022-09-24
  • Pythonwin11下载anaconda在d盘,新建的虚拟环境总是在c盘怎么解决

    win11下载anaconda在d盘,新建的虚拟环境总是在c盘怎么解决

    w11下载anaconda在d盘,新建的虚拟环境总是在c盘怎么解决?本文不是教你安装anaconda的步骤,是解决虚拟环境路径的问题_anconda.navigator新建的environments在c盘...

    V4837330914502023-08-22
  • Python使用python遍历指定城市的一周气温

    使用python遍历指定城市的一周气温

    本文主要介绍了使用python遍历指定城市的一周气温的实现方法。具有很好的参考价值,下面跟着小编一起来看下吧...

    yrsss5672020-09-27
  • PythonPython装饰器(decorator)定义与用法详解

    Python装饰器(decorator)定义与用法详解

    这篇文章主要介绍了Python装饰器(decorator)定义与用法,结合具体实例形式详细分析了Python装饰器的概念、功能及相关使用技巧,需要的朋友可以参考下...

    初心不忘11942021-01-13
  • Python详解Python中的多线程编程

    详解Python中的多线程编程

    这篇文章主要介绍了详解Python中的多线程编程,Python中的多线程一直是Python学习中的重点和难点,要反复巩固!需要的朋友可以参考下 ...

    taiyang19879123862020-06-03
  • Python使用Python对Access读写操作

    使用Python对Access读写操作

    学习Python的过程中,我们会遇到Access的读写问题,这时我们可以利用win32.client模块的COM组件访问功能,通过ADODB操作Access的文件。下面跟着小编一起来看下...

    骑着螞蟻流浪16482020-09-27
  • PythonPython使用win32com实现的模拟浏览器功能示例

    Python使用win32com实现的模拟浏览器功能示例

    这篇文章主要介绍了Python使用win32com实现的模拟浏览器功能,结合实例形式分析了Python基于win32com模块实现网页的打开、登陆、加载等功能相关技巧,需要的朋...

    Done7002020-11-26
  • PythonPython制作数据导入导出工具

    Python制作数据导入导出工具

    正好最近在学习python,于是打算用python实现了数据导入导出工具,由于是新手,所以写的有些不完善的地方还请见谅...

    Python教程网4282020-07-28