经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
Python数据分析matplotlib折线图案例处理
来源:jb51  时间:2022/8/16 17:28:27  对本文有异议

前言

以下分享折线图小案例,matplotlib还可以进行多种图形的绘制,可以进入官网 https://matplotlib.org/gallery/index.html点击examples,如需学习,选择要学习的图进入,里面包含有代码

python之matplotlib使用系统字体

1.导包from matplotlib.font_manager import FontProperties2.调用本机字体库设置字体my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")

其中,msyh.ttc是自己电脑中的字体,如何找到呢?

在路径C:\Windows\Fonts的文件夹中,有如下字体,如下图:

绘图的时候,直接调用就好

??plt.xticks(list(x)[::3],_xtick_labels[::3],rotatinotallow=45,fnotallow=my_font)??

实例1:温度变化统计

  1. #如果列表a便是10点到12点的每一分钟的气温,绘制折线图
  2. # a=[random.randint(20,35)for i in range(120)]
  3. #解决中文不显示问题
  4. #fc-list -->查看支持的字体
  5. #fc-list :lang=zh -->查看支持的中文(冒号前有空格)
  6.  
  7. from matplotlib import pyplot as plt
  8. import random
  9. import matplotlib
  10. from matplotlib import font_manager
  11.  
  12. #1.windows\linux设置字体
  13. #font = {'family' : 'MicroSoft YaHei',
  14. # 'weight' : 'bold',
  15. # 'size' : 'larger'}
  16. #matplotlib.rc("font",**font) #查看源码ctrl+b
  17.  
  18. #2.另一种设置字体方式
  19. my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
  20.  
  21. #定义x、y轴
  22. x = range(0,120)
  23. y = [random.randint(20,35) for i in range(120)]
  24.  
  25. #修改大小尺寸
  26. plt.figure(figsize=(20,8),dpi=80)
  27.  
  28. #绘制
  29. plt.plot(x,y)
  30.  
  31. #调整x轴的刻度
  32. _xtick_labels = ["10点{}分".format(i) for i in range(60)]
  33. _xtick_labels += ["11点{}分".format(i) for i in range(60)]
  34.  
  35. #取适当步长,将数字与x轴字符串对应,使得数据长度保持一致
  36. plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45,fontproperties=my_font) #将x轴字符串旋转45度
  37.  
  38. #添加描述信息
  39. plt.xlabel("时间",fontproperties=my_font)
  40. plt.ylabel("温度 单位(°c)",fontproperties=my_font)
  41. plt.title("10点到12点每分钟的气温变化情况",fontproperties=my_font)
  42.  
  43. #显示图示
  44. plt.show()

实例2:交友数量折线图

  1. #你与朋友从11到30岁交的朋友数,并比较
  2. from matplotlib import pyplot as plt
  3. from matplotlib import font_manager
  4.  
  5. #设置字体
  6. my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
  7.  
  8. #定义坐标轴
  9. x = range(11,31)
  10. y_1 = [2,3,3,4,6,5,6,5,8,5,4,6,4,4,4,4,4,3,3,3]
  11. y_2 = [1,4,5,5,6,4,5,5,4,7,6,5,3,2,2,6,1,2,6,4]
  12.  
  13. #设置图形大小
  14. plt.figure(figsize=(20,8),dpi=80)
  15.  
  16. #绘制
  17. plt.plot(x,y_1)
  18. plt.plot(x,y_2)
  19.  
  20. #绘制x\y轴刻度,添加描述信息
  21. _xtick_labels = ["{}岁".format(i) for i in x]
  22. plt.xticks(x,_xtick_labels,fontproperties=my_font)
  23. plt.yticks(range(0,10))
  24. plt.xlabel("年龄",fontproperties=my_font)
  25. plt.ylabel("每年交到的新朋友数",fontproperties=my_font)
  26. plt.title("与朋友每年新交到朋友数量对比图",fontproperties=my_font)
  27.  
  28. #绘制网格,并设置透明度
  29. plt.grid(alpha=0.3)
  30.  
  31. #展示
  32. plt.show()

1.这个案例中涉及到一表多图,其实很简单,与单图设计一样,只要再添加一组y轴坐标。
这里x轴是共有的,不需要另行设置。
#定义坐标轴?x = range(11,31)y_1 = [2,3,3,4,6,5,6,5,8,5,4,6,4,4,4,4,4,3,3,3]y_2 = [1,4,5,5,6,4,5,5,4,7,6,5,3,2,2,6,1,2,6,4]#绘制plt.plot(x,y_1)plt.plot(x,y_2)

2.绘制网格及设置透明度

plt.grid(alpha=0.3)

3.但是当你给别人展示时,并没有源码,别人很难分清哪个曲线是你的,哪个是你朋友的,这时就需要我们添加图例,并且要注意的是:

通常我们设置中文字体是对应方法后添加fontproperties=my_font但是在添加图例中用到的是prop=my_font

如图所示:

4.更改图例位置

由于初学,很多方法我们还不是很清楚,所以我们要学会查看源码(选中方法名+ctrl+b)

再使用一次,进入后会找到有关参数loc(location)的描述,我们设置loc=“upper left”,结果如图所示

5.设置曲线颜色,线条样式

  1. #绘制,添加颜色
  2. plt.plot(x,y_1,label="自己",color="y")
  3. plt.plot(x,y_2,label="朋友",color="cyan")

2

  1. #绘制,添加线条类型
  2. plt.plot(x,y_1,label="自己",color="purple",linestyle='-.')
  3. plt.plot(x,y_2,label="朋友",color="cyan",linestyle='--')

到此这篇关于Python数据分析matplotlib折线图案例处理的文章就介绍到这了,更多相关Python matplotlib折线图 内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

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

本站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号