matplotlib绘图技巧详解(二)

目录

   1、颜色、点标记与线型设置
   2、透明度设置
   3、图例设置
   4、网格设置

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

1)常用的参数名:小括号中都是简写
  • color©:线条颜色。
  • linestyle(ls):线条形状。
  • linewidth(lw):线宽。
  • marker:点标记形状。
  • markersize(ms):点标记的大小。
  • markeredgecolor(mec):点边缘颜色。
  • markeredgewidth(mew):点边缘宽度。
  • markerfacecolor(mfc):点的颜色。
① 举例如下
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" 三角形"^"
  • 线型:直线"-" 虚线"–" 点线":" 点画线"-."

举例如下:

plt.plot([1,2,3,4,5], [2,4,6,8,10], "m^:")

结果如下:
在这里插入图片描述

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

在这里插入图片描述

② 线条样式大全
  • ‘-’ 直线
  • ‘–’ 虚线
  • ‘-.’ 点画线
  • ‘:’ 点线
③ 点标记大全

在这里插入图片描述

2、透明度设置

1)说明

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

2)举例说明
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图形的标签
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函数生成图例
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”。也可以为该参数指定一个坐标"元组",坐标的值是基于当前坐标原点的比例。

举例如下:

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参数:为图例设置标题

举例如下:

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参数:图例显示的列数
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参数:设置是否显示图例的边框
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:设置网格线宽度。

举例如下:

plt.plot([1,3,5,7],[4,9,6,8],"ro--")
plt.grid(True,c="g",ls="-",lw=5)

结果如下:
在这里插入图片描述

发布了79 篇原创文章 · 获赞 95 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_41261833/article/details/104385319