前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matplotlib绘图技巧详解(二)

matplotlib绘图技巧详解(二)

作者头像
朱小五
发布2020-03-03 15:14:26
1.3K0
发布2020-03-03 15:14:26
举报
文章被收录于专栏:凹凸玩数据凹凸玩数据

↑ 关注 + 星标 ~ 有趣的不像个技术号

每晚九点,我们准时相约

大家好,我是黄同学

我们之前已经讲述了matplotlib的绘图原理,陆续会更新绘图技巧、相关图形绘制。

《matplotlib绘图的核心原理》

《matplotlib绘图技巧详解(一)》

1、颜色、点标记与线型设置

1)常用的参数名:小括号中都是简写

  • color©:线条颜色。
  • linestyle(ls):线条形状。
  • linewidth(lw):线宽。
  • marker:点标记形状。
  • markersize(ms):点标记的大小。
  • markeredgecolor(mec):点边缘颜色。
  • markeredgewidth(mew):点边缘宽度。
  • markerfacecolor(mfc):点的颜色。

① 举例如下

代码语言:javascript
复制
plt.plot([1, 2, 3, 4], [5, 6, 7, 8], c="g", ls="--", lw=2,
          marker="o", ms=8, mec="g", mew=5, mfc="r")

结果如下:

2)颜色、点标记与线型可以使用一个参数设置

① 格式

格式:颜色点标记样式线条样式

注意:这三者之间不需要添加任何其他东西;

举例:ro–

② 常用颜色、点标记和线型

颜色:蓝色"b" 绿色"g" 红色"r" 青色"c" 品红"m" 黄色"y" 黑色"k" 白色"w"

点标记:点"." 像素"," 圆"o" 方形"s" 三角形"^"

线型:直线"-" 虚线"–" 点线":" 点画线"-."

举例如下:

代码语言:javascript
复制
plt.plot([1,2,3,4,5], [2,4,6,8,10], "m^:")

结果如下:

3)颜色、线条样式和点标记大全

① 颜色大全

② 线条样式大全

  • ‘-’ 直线
  • ‘–’ 虚线
  • ‘-.’ 点画线
  • ‘:’ 点线

③ 点标记大全

2、透明度设置

1)说明

  在绘制图像时,我们可以通过alpha参数来控制图像的透明度,值在0 ~ 1之间。0为完全透明,1为不透明。

2)举例说明

代码语言:javascript
复制
plt.plot([1,3,5,7],[4,9,6,8],marker="s",alpha=0.2)
plt.plot([1,2,3,4,5], [2,4,6,8,10],marker="o",alpha=0.5)

结果如下:

3、图例设置

1)图例作用

  在绘制多条线时,可以设置图例来标注每条线所代表的含义,使图形更加清晰易懂。关于图例设置可以参考如下文章:https://blog.csdn.net/chichoxian/article/details/101058046

2)plt.legend()设置图例的2种方式

① legend函数中的常用参数

  • loc:指定图例的位置。默认为best。也可以指定坐标(元组),基于图像左下角计算。
  • title:设置图例的标题。
  • ncol:图例显示的列数,默认为1列。
  • frameon:设置是否显示图例的边框。True(默认值)显示,False不显示。

例如:plt.legend(loc=(1,0.9))传入一个指定坐标,调整图例的位置,以免图例覆盖了图形。

② 调用plt的legend函数,传递一个标签数组,指定每次plot图形的标签

代码语言:javascript
复制
plt.plot([1,3,5,7],[4,9,6,8],"ro--")
plt.plot([1,2,3,4,5], [2,4,6,8,10],"gs-.")
plt.legend(["2016年","2017年"],loc="best")

结果如下:

③ 在绘制的时候通过label参数指定图例中显示的名称,然后调用legend函数生成图例

代码语言:javascript
复制
plt.plot([1,3,5,7],[4,9,6,8],"ro--",label="2016年")
plt.plot([1,2,3,4,5], [2,4,6,8,10],"gs-.",label="2017年")
plt.legend(loc="upper right")

结果如下:

3)legend函数常用参数的详细说明

  • loc:指定图例的位置。默认为best。也可以指定坐标(元组),基于图像左下角计算。
  • title:设置图例的标题。
  • ncol:图例显示的列数,默认为1列。
  • frameon:设置是否显示图例的边框。True(默认值)显示,False不显示。

① loc参数:设置图例的摆放位置

  该参数用于指定图例的摆放位置。默认是best,还有upper、down、left和right。一共有四种组合形式"upper left"、“upper right”、“down left"和"down right”。也可以为该参数指定一个坐标"元组",坐标的值是基于当前坐标原点的比例。

举例如下:

代码语言:javascript
复制
plt.plot([1,3,5,7],[4,9,6,8],"ro--")
plt.plot([1,2,3,4,5], [2,4,6,8,10],"gs-.")
plt.legend(["2016年","2017年"],loc=(0.5,0.8))

结果如下:

② title参数:为图例设置标题

举例如下:

代码语言:javascript
复制
plt.plot([1,3,5,7],[4,9,6,8],"ro--")
plt.plot([1,2,3,4], [2,4,6,8],"gs-.")
plt.legend(["2016年","2017年"],loc="best",title="图例的标题")
plt.title("2016-2017年各季度销售额对比图")

结果如下:

③ ncol参数:图例显示的列数

代码语言:javascript
复制
plt.plot([1,3,5,7],[4,9,6,8],"ro--")
plt.plot([1,2,3,4], [2,4,6,8],"gs-.")
plt.legend(["2016年","2017年"],loc="best",ncol=2)

结果如下:

④ frameon参数:设置是否显示图例的边框

代码语言:javascript
复制
plt.plot([1,3,5,7],[4,9,6,8],"ro--")
plt.plot([1,2,3,4], [2,4,6,8],"gs-.")
plt.legend(["2016年","2017年"],loc="best",ncol=2,frameon=False)

结果如下:

4、网格设置

可以通过plt的grid方法来设置是否显示网格。True为显示,False不显示。

语法参数:

  • ax.grid(color=, linestyle=, linewidth=)
  • color:设置网格线颜色。
  • axis:设置网格线显示x,y或者全部显示(x,y,both)。
  • linestyle:设置网格线形状。
  • linewidth:设置网格线宽度。

举例如下:

代码语言:javascript
复制
plt.plot([1,3,5,7],[4,9,6,8],"ro--")
plt.grid(True,c="g",ls="-",lw=5)

结果如下:

未完待续,matplotlib绘图技巧详解更新ing...

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 凹凸数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、颜色、点标记与线型设置
  • 2、透明度设置
  • 3、图例设置
  • 4、网格设置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档