目录
前言
本文概述:CSDN上很多Matplotlib的教程写得都不咋滴,很多都是直接贴一堆代码上去,注释写得不清楚也不完整,让很多想学习Matplotlib的读者体验感非常差,因此作者打算写一系列Matplotlib教程,帮助萌新入门,老手也可以查漏补缺。
作者介绍:作者本人是一名人工智能炼丹师,目前在实验室主要研究的方向为生成式模型,对其它方向也略有了解,希望能够在CSDN这个平台上与同样爱好人工智能的小伙伴交流分享,一起进步。谢谢大家鸭~~~
![]()
如果你觉得这篇文章对您有帮助,麻烦点赞、收藏或者评论一下,这是对作者工作的肯定和鼓励。
Matplotlib折线图的绘制
import matplotlib.pyplot as plt
plt.plot([1,2,3,4],[2,2,3,4])#[1,2,3,4]为x轴数据,[2,2,3,4]为y轴数据
plt.show()
运行结果如下图,我们将这四点绘制到了图上
折线图风格控制
有些读者可能就要说了,我只想画出点而不用将他们连线起来。这就需要用到线条风格了
import matplotlib.pyplot as plt
plt.plot([1,2,3,4],[2,2,3,4],linestyle='.') # '.'为风格控制
plt.show()
有些读者可能还要问,如何标记出关键点呢,这就要用到marker这个参数了
import matplotlib.pyplot as plt
plt.plot([1,2,3,4],[2,2,3,4],linestyle='-',marker='o') # 'o'为标记点风格控制
plt.show()
下图基本上涵盖了所有的线条风格控制和标记风格字符,想要更换什么样的风格自行查表就可以啦
风格字符 | 说明 | 风格字符 | 说明 |
---|---|---|---|
‘-‘ | 实线线条风格 | ‘x’ | x标记 |
‘–’ | 破折线线性风格 | ‘1’ | 下花三角标记 |
‘-.’ | 点划线线条风格 | ‘2’ | 上花三角标记 |
’ ’ ’ ‘ | 无线条 | ‘3’ | 左花三角标记 |
‘.’ | 点标记 | ‘4’ | 右花三角标记 |
‘,’ | 像素标记(极小点) | ’s’ | 实心方形标记 |
‘o’ | 实心圈标记 | ‘p’ | 实心五角标记 |
‘v’ | 倒三角标记 | ‘*’ | 星形标记 |
‘^’ | 上三角标记 | ‘d’ | 瘦菱形标记 |
‘>’ | 右三角标记 | ‘|’ | 垂直线标记 |
‘<’ | 左三角标记 | ‘D’ | 菱形标记 |
‘h’ | 竖六边形标记 | ‘+’ | 十字标记 |
‘H’ | 横六边形标记 |
折线图颜色控制
有的读者可能就会要说了,那该怎么样改变绘制点线的颜色呢?这也很简单,用到颜色控制字符就可以啦
import matplotlib.pyplot as plt
plt.plot([1,2,3,4],[2,2,3,4],linestyle=':',color='r') # 'r'为颜色字符
plt.show()
同样的关键点的颜色也是可以自己修改的
import matplotlib.pyplot as plt
plt.plot([1,2,3,4],[2,2,3,4],':',marker='o',color='r',markerfacecolor='k') # 'k'为颜色字符
plt.show()
下图为颜色控制字符表
颜色字符 | 说明 | 颜色字符 | 说明 |
---|---|---|---|
‘b’ | 蓝色 | ‘y’ | 黄色 |
‘r’ | 红色 | ‘k’ | 黑色 |
‘g’ | 绿色 | ‘w’ | 白色 |
‘c’ | 青绿色 | ‘0.8’ | 灰度值字符串 |
‘m’ | 洋红色 | ‘#008000’ | RGB某颜色 |
折线图设置点线粗细
有的读者可能说了,哎呀你好细啊,能不能变粗一点啊。这当然是没有问题的啦
import matplotlib.pyplot as plt
plt.plot([1,2,3,4],[2,2,3,4],':',color='r',linewidth=6.0) # linewidth为线条宽度
plt.show()
关键点的大小调整代码如下
import matplotlib.pyplot as plt
plt.plot([1,2,3,4],[2,2,3,4],marker='o',markersize=16) # 16为关键点大小
plt.show()
绘制多条线
一张图内绘制多条线的方法也很简单,要画多少条线就写多少次plot就好了
plt.plot([1,2,3,4],[4,4,6,8],'-',color='b')
plt.plot([1,2,3,4],[2,2,3,4],':',color='r')
plt.xlabel("this is Xlabel",fontsize=16)
plt.ylabel("this is Ylabel",fontsize=16)
plt.show()
Matplotlib柱状图的绘制
竖向柱形图
from matplotlib import pyplot as plt
plt.bar(['a','b','c','d'],[3,4,-5,-6],align='center',width=0.8,bottom=0,color='r',edgecolor='y',linewidth=1)
plt.axhline(0,color='k',linewidth=2)
plt.show()
bar是绘制竖向柱状图,align为其对其模式有['edge','center']可选,width为柱体宽度,bottom为其柱体起点,color为柱体颜色,degecolor为柱体边框颜色,linewidth为边框宽度,如果设置为0则没有边框。
axhline是绘制一条平行于x轴的直线
横向柱状图
from matplotlib import pyplot as plt
plt.barh(['a','b','c','d'],[3,4,-5,-6],align='center',height=0.8,left=0,color='r',edgecolor='y',linewidth=1)
plt.axvline(0,color='k',linewidth=2)
plt.show()
barh是绘制横向柱状图,align为其对其模式有['edge','center']可选,height为柱体宽度,left为其柱体起点,color为柱体颜色,degecolor为柱体边框颜色,linewidth为边框宽度,如果设置为0则没有边框
axvline是绘制一条平行于y轴的直线
单独控制每个柱体的风格
from matplotlib import pyplot as plt
plt.barh(['a','b'],[3,4],align='center',height=0.8,left=0,color='r',edgecolor='y',linewidth=1)
plt.barh(['c','d'],[-5,-6],align='center',height=0.8,left=0,color='g',edgecolor='y',linewidth=1)
plt.axvline(0,color='k',linewidth=2)
plt.show()
我们可以自己手动一个一个柱体进行设置就可以画出来不同风格的柱体。也可以通过循环遍历去实现。
如下代码,我们可以将小于0的数据标记为红色,大于等于0的数据标记为绿色
from matplotlib import pyplot as plt
x=['a','b','c','d']
y=[3,4,-5,-6]
for i in range(len(y)):
if y[i]<0:
plt.barh(x[i], y[i], align='center', height=0.8, left=0, color='r', edgecolor='y', linewidth=1)
else:
plt.barh(x[i], y[i], align='center', height=0.8, left=0, color='g', edgecolor='y', linewidth=1)
plt.axvline(0,linewidth=2,color='k')
plt.show()
尾言
![]()
如果您觉得这篇文章对您有帮忙,请点赞、收藏。您的点赞是对作者工作的肯定和鼓励,这对作者来说真的非常重要。如果您对文章内容有任何疑惑和建议,欢迎在评论区里面进行评论,我将第一时间进行回复。