使用matplotlib绘制基础图形学习笔记

使用matplotlib绘制基础图形学习笔记

一、引言

想弄个看上去较为“高大上”的统计报告或报表,数据分析必不可少,因为这能使我们的成果看上去更有说服力。当然我们也可以让我们的成果更上一层楼——使用统计图。它的用处很多,最重要的一点是能更加清晰直观地反映出我们的“研究成果”。

笔者在这篇笔记中主要总结并分享的是在这学期学习中在jupyter notebook中遇到的相关图表语句,其次附上研究生之前自学matplot绘图中scatter散点图的相关参数笔记。欢迎广大读者朋友批评指正!

二、使用matplotlib.pyplot输出图表的相关语句

·在这学期的学习中,笔者主要将matplotlib用于二维散点、折线图的绘制,并适当添加了一些辅助说明的参数代码。我们先从最基础的图形说起:

·我们绘制一个二维散点图,首先要定义x轴和y轴,它们可以是用户自行编写的数组数据,或者是引用之前数据的某一列,例:

x = np.linspace(1,2,100)

y = np.linspace(2,4,100)

#定义x是一组以1为首项,2为末项,步长100(划分为100等份)的数组,y同理。或者:

x = data[‘X1’]

y = data[‘Y’]

#导入已有数据集,用户将该数据集名称定义为data,再将data中的X1列定义为变量x,Y列定义为y。

定义完成后我们就可以使用plt.scatter(x,y)绘制统计图了,一般来说,用户在写入这句代码后运行,jupyter会直接展示。笔者习惯在下一行加plt.show()做标记。其实无论加不加plt.show()都能输出,这就看用户个人习惯了。

·注:scatter在英文中是“散点图”的意思,与此类别相同的还有:pie——饼图;bar——条形图;hist——直方图;plot——折线图。使用“plt.图表类型”来获得我们想要的图形种类。

汇总上述代码:

x = data[‘X1’]

y = data[‘Y’]

plt.scatter(x,y)

于是我们得到了一个较为简单的散点图,它对数据的描述程度一般,所以我们希望通过加一些参数,让它能够反馈更多情况,描述的更加完善,更易让人接受。

·plt.figure()

这是matplotlib库中创建一个新的图形窗口的函数。它可以在一个绘图程序中创建多个图形窗口。在这个语句中,figsize是笔者最常用的,而后续的dpi、facecolor、edgecolor、linewidth则偏向于辅助参数,是笔者自学时接触到的。它们各自的意义如下:figsize:以英寸为单位,用于指定图形的宽度和高度。它包含两个元素,例如(6, 4)。

dpi:用于指定图形的分辨率,以英寸点数为单位,默认为100。

facecolor:图形窗口的背景颜色。默认白色。

edgecolor:图形窗口边框的颜色。默认白色。

linewidth:用于指定图形窗口边框的线宽。默认为1。

·plt.subplot(x,y,z)

这是展示多个或者一连串子图的函数,它可是重量级!用户如果想同时展示多个图表,那少不了它。

其中x和y是行参数和列参数,z是位置参数。大致意思如下:

plt.subplot(3,2,1)

#一共绘制3行2列个子图(共6个“位置”),输出的子图位置在第1个位置。

我们用一个表来辅助读者理解subplot:

              列

第1列

第2列

第1行

位置1

plt.subplot(3,2,1)

位置2

plt.subplot(3,2,2)

第2行

位置3

plt.subplot(3,2,3)

位置4

plt.subplot(3,2,4)

第3行

位置5

plt.subplot(3,2,5)

位置6

plt.subplot(3,2,6)

·plt.xlabel / plt.ylabel / plt.title / plt.suptitle

这一家四口就显得没有那么难理解了,有点英语基础的读者朋友都认识:label是标签,“修饰”了x和y,意思就是x轴标签名称和y轴标签名称;而title和suptitle,笔者在学习时通常称它们为小标题和大标题。因为title可以各自命名互不影响,而suptitle则是总揽全局的“大佬”——它是总体的标题,描述整个图形。例:

plt.xlabel(‘月份’)

plt.ylabel(‘销量’)

plt.title(‘江南皮革厂2011年销售数据’)

·plt.annotate / plt.text / plt.ylim / plt.yticks

plt.annotate()函数是在图形中添加标注文本。它在给定的坐标点处添加注释,可通过设置不同的参数来调整注释的位置、样式和箭头。笔者主要学习了这三种参数:

s:注释文本内容

xy:被注释的坐标点

xytext:注释文本的坐标位置

注:xy和xytext是二维(元)的

在此之外,annotate函数还有arrowprops,textcoords,xycoords等参数,它们可以帮助用户构建一个更美观的图,在这里不做赘述,读者朋友可自行浏览相关资料。

plt.text()函数与annotate有那么一点区别在于,它们注释的内容不太相同。text注释的是稍大范围的图形,annotate则是图形中的点。笔者主要学习了以下两种参数:

x,y:文本坐标位置

s:文本内容

此外,该函数还有两个参数:fontdict和withdash,它们能帮用户构建一个较为美观的图,在这里不做赘述,读者朋友可自行查阅相关资料。

plt.ylim()是添加y轴范围的函数,plt.xlim同理,它们的参数只有一对(x,y)。但请读者注意,此xy非彼xy,参数里面的x和y描述的是坐标轴的范围——起点和终点。函数中的x和y则是x轴和y轴。

plt.yticks([])是添加y轴刻度的函数,x轴同理。注意看,这个函数内部构造较为特殊,因为其内部要求的参数以数组或列表形式存在,例:

plt.yticks([0,1,2,3],[’A’,’B’,’C’,’D’])

#这句话的意思大致是:将y轴的刻度位置分别设置为0, 1, 2, 3,对应的标签分别为'A', 'B', 'C', 'D'。

笔者经常将ticks和lim连用,因为它们功能相近,也能使我们的统计图更加精确;annotate和text也是如此,添加备注能让读者对数据分布一目了然。

·plt.axhline()

axhline函数是给图中添加一条水平线,笔者主要接触到这三个参数:

y:参考线y的位置。

color:参考线颜色,默认黑色。

linestyle:参考线线型,默认实直线。

注:在线条风格参数中:‘-’代表实线,‘--’代表虚线,‘-.’代表点划线,‘:’代表点线。

其他的参数还有xmin,xmax,linewidth,这三个参数能让参考线看上去更加美观,它们各自的功能也不尽相同,在这里不再过多赘述,读者可自行查阅相关资料。

这些只是较为基础的东西,如果我们想分区块或者分类别绘制散点图,我们可能还会用到条件判断。笔者将在下一篇学习笔记中为大家分享一下条件的一些内容。

以上就是笔者在这学期的学习中,使用plt模块总结的函数种类。。

附:使用plt绘制scatter时常见的参数:

·plt.scatter(x,y,s,c,marker,cmap,norm,alpha,linewidths,edgecolors)

x是x轴数据;y是y轴数据;s是散点大小;c是散点颜色;marker是散点图形状;cmap是颜色图谱(用处不多,可忽略);norm是标准化(归一化)数据;alpha是透明度;linewidths是散点边界线的宽度;edgecolors是散点图边界的颜色

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kbi8lnt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值