【Python可视化系列】一文彻底教会你绘制美观的折线图(理论+源码) 您所在的位置:网站首页 word画折线图确定xy轴 【Python可视化系列】一文彻底教会你绘制美观的折线图(理论+源码)

【Python可视化系列】一文彻底教会你绘制美观的折线图(理论+源码)

2024-06-02 08:41| 来源: 网络整理| 查看: 265

一、前言

        折线图是一种常用的可视化图表,可以清晰地展示数据随时间或其他连续变量的变化趋势,通过连接数据点,可以观察到数据的上升、下降、波动等变化趋势,帮助人们更直观地理解数据的变化规律。

二、基本折线图 2.1简单折线图 import matplotlib.pyplot as plt # 准备数据 x = [1, 2, 3, 4, 5] # x轴数据 y = [2, 6, 1, 3, 10] # y轴数据 # 设置字体 plt.rcParams['font.family']='Times New Roman, SimSun' # 绘制折线图 plt.plot(x, y) # 添加标题和坐标轴标签 plt.title('折线图示例') plt.xlabel('X轴') plt.ylabel('Y轴') # 显示图形 plt.show()

结果如下图所示:

图片

2.2设置线条和点 plt.plot(x, y,color='red',linestyle='--',marker='*') x:横坐标数据 y:纵坐标数据 color:折线的颜色 character color ========== ======== 'b' blue 'g' green 'r' red 'c' cyan 'm' magenta 'y' yellow 'k' black 'w' white linestyle:折线的类型,默认为实线 ``'-'`` 实线样式 ``'--'`` 虚线样式 ``'-.'`` 点划线样式 ``':'`` 点虚线样式 marker:数据点的标记样式,默认为空 三角形 '^' 五角星 '*' 圆圈 'o' 加号 '+' 缩写形式:plt.plot(x, y,'*:r') 注:引号内的不区分顺序,但是颜色需要用缩写 其他的一些参数: 参数 linewidth 用以控制线条宽度(默认值为0.5) 参数 alpha=0.5 用以控制线条透明度 参数 markersize 用以控制标记大小 参数 markeredgecolor 用以控制标记的轮廓颜色 参数 markerfacecolor 用以控制标记的填充颜色

图片

三、进阶 3.1添加图例、添加数字标签 import matplotlib.pyplot as plt # 月份 x1 = ['2017-01', '2017-02', '2017-03', '2017-04', '2017-05', '2017-06', '2017-07', '2017-08', '2017-09', '2017-10', '2017-11', '2017-12'] # 体重 y1 = [86, 85, 84, 80, 75, 70, 70, 74, 78, 70, 74, 80] # 设置画布大小 plt.figure(figsize=(10, 7)) # 设置字体 font1 = {'family': 'Times New Roman', 'weight': 'normal', 'size': 14} plt.rc('font', **font1) # 绘图 plt.plot(x1, y1, label='weight changes', linewidth=3, color='r', marker='o', markerfacecolor='blue', markersize=14) # 标题 plt.title("my weight", fontproperties=font1) # 横坐标描述 plt.xlabel('month', fontproperties=font1) # 纵坐标描述 plt.ylabel('weight', fontproperties=font1) # 设置数字标签 for a, b in zip(x1, y1): plt.text(a, b+0.5, b, ha='center', va='bottom', fontproperties=font1) # 设置图例 plt.legend() plt.show()

这段代码添加了画布大小设置、字体设置、数字标签设置以及图例设置,结果如下:

图片

3.2一图绘制多条折线 import matplotlib.pyplot as plt import seaborn as sns x = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"] highest = [12, 15, 18, 14, 16, 14, 10] lowest = [6, 4, 8, 12, 10, 9, 7] plt.plot(x, highest, "rs--", label="最高气温") plt.plot(x, lowest, "rd--", label="最低气温") for a, b in zip(x, highest): plt.text(a, b+1, b, ha='center', va='bottom') # 数据显示的横坐标、显示的位置高度、显示的数据值的大小 for a, b in zip(x, lowest): plt.text(a, b-2, b, ha='center', va='bottom') # 绘图风格设置,使用seaborn库的API来设置样式 sns.set_style('darkgrid') # # 设置字体 font1 = {'family': 'SimSun', 'weight': 'normal', 'size': 14} plt.rc('font', **font1) plt.rcParams["axes.unicode_minus"] = False # x轴刻度标签设置 plt.xticks(x, fontproperties=font1) # y轴标签数值范围设置 plt.ylim(0, 25) # 标题设置 plt.title("一周气温变化趋势", fontproperties=font1) plt.xlabel("星期", fontproperties=font1) plt.ylabel("气温", fontproperties=font1) # 图例设置 plt.legend() plt.show()

这段代码对绘图的风格、x轴刻度标签的字体、y轴刻度标签的范围进行了设置,结果如下:

图片

本人读研期间发表6篇SCI数据挖掘相关论文,现在某研究院从事数据算法相关科研工作,对Python有一定认知和理解,会结合自身科研实践经历不定期分享关于Python、机器学习、深度学习、人工智能系列基础知识与应用案例。致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有