当前位置:   article > 正文

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

python画折线图

一、前言

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

二、基本折线图

2.1简单折线图

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

结果如下图所示:

图片

2.2设置线条和点

  1. plt.plot(x, y,color='red',linestyle='--',marker='*')
  2. x:横坐标数据
  3. y:纵坐标数据
  4. color:折线的颜色
  5. character color
  6. ========== ========
  7. 'b' blue
  8. 'g' green
  9. 'r' red
  10. 'c' cyan
  11. 'm' magenta
  12. 'y' yellow
  13. 'k' black
  14. 'w' white
  15. linestyle:折线的类型,默认为实线
  16. ``'-'`` 实线样式
  17. ``'--'`` 虚线样式
  18. ``'-.'`` 点划线样式
  19. ``':'`` 点虚线样式
  20. marker:数据点的标记样式,默认为空
  21. 三角形 '^'
  22. 五角星 '*'
  23. 圆圈 'o'
  24. 加号 '+'
  25. 缩写形式:plt.plot(x, y,'*:r')
  26. 注:引号内的不区分顺序,但是颜色需要用缩写
  27. 其他的一些参数:
  28. 参数 linewidth 用以控制线条宽度(默认值为0.5
  29. 参数 alpha=0.5 用以控制线条透明度
  30. 参数 markersize 用以控制标记大小
  31. 参数 markeredgecolor 用以控制标记的轮廓颜色
  32. 参数 markerfacecolor 用以控制标记的填充颜色

图片

三、进阶

3.1添加图例、添加数字标签

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

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

图片

3.2一图绘制多条折线

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

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

图片

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/462742
推荐阅读
相关标签
  

闽ICP备14008679号