matplotlib第六天:在matplotlib有四种常见表示颜色的方法,你知道几种呢?

149 阅读4分钟

大家好,今天我将分享如何使用matplotlib绘制不同种类不同颜色的线并添加图例。

昨天回顾:

1.plt.scatter(),包含了x,y,c,s,alpha这几个参数。

2.了解为什么要设置随机数生成器的种子

3.使用np.random.rand()生成随机数,随机颜色,随机大小

忘了的可以回顾一下第五天的内容:matplotlib第五天:学习如何画散点图 - 掘金 (juejin.cn)

好的,那么我们现在开始进入正题:

from matplotlib import pyplot as plt

import numpy as np

#准备数据

x=np.linspace(0,10,20)

plt.plot(x,x+0,"-",label="-")

plt.plot(x,x-1,"--r",label="--r")

plt.plot(x,x+1,":g",label=":g")

plt.plot(x,x+2,"vb",label="vb")

plt.plot(x,x+3,"sy",label="sy")

plt.legend(loc="upper left")  plt.legend(loc=1)

Image.png

这是通过使用不同颜色不同种类的线绘制的直线图

接下来我会对代码进行一一解释:

from matplotlib import pyplot as plt

import numpy as np

导入 matplotlib 库和 numpy 库,分别将其命名为 plt, np

x=np.linspace(0,10,20)

生成一个从 0 到 10 平均分布的包含 20 个元素的数组 x

plt.plot(x,x+0,"-",label="-")

plt.plot(x,x-1,"--r",label="--r")

plt.plot(x,x+1,":g",label=":g")

plt.plot(x,x+2,"vb",label="vb")

plt.plot(x,x+3,"sy",label="sy")

这段代码的plt.plot()总共包含四个参数,我会一一为大家解释清楚:

  • 第一个参数: x 就表示在x轴的数据点。
  • 第二个参数: 例如:x+0,x-1,x+1等表示在y轴的数据点
  • 第三个参数:表示线条的样式,线条有哪些样式我为在下文讲到。
  • 第四个参数:表示线条的标签

下面是一些常有的线条样式,我为大家整理好了:

  • "-":实线
  • "--":虚线
  • "-.":点划线
  • ":":点线
  • ".":点标记
  • ",":像素标记
  • "o":圆标记
  • "v":下三角标记
  • "^":上三角标记
  • <":左三角标记
  • ">":右三角标记
  • "s":正方形标记
  • "p":五边形标记
  • "*":星形标记
  • "h":六边形1标记
  • "H":六边形2标记
  • "+":加号标记
  • "x":叉号标记
  • "D":菱形标记
  • "d":窄菱形标记
  • "|":竖线标记
  • "_":横线标记

同时这些样式可以与颜色字符串一起使用,例如 --r 表示红色的虚线。:g表示绿色的点线

Image.png

可以再看一眼这个图感受一下!

关于颜色我还想补充一些小知识:

在matplotlib有四种方法可以表示颜色。

第一种方法:

使用Matplotlib所提供的一些预定义的颜色名称,如'red'(红色)、'blue'(蓝色)、'green'(绿色)等。举个例子:

import matplotlib.pyplot as plt
plt.plot(x, y, color='red')

第二种方法:

使用十六进制颜色码,举个例子就知道了:

import matplotlib.pyplot as plt
plt.plot(x, y, color='#FF0000')  # 红色

如果想要使用十六进制颜色码来表示颜色的话,可以去网上搜索十六进制颜色码来找到你想要的颜色。

第三种方法:

使用RGB元组,通过RGB元组来指定线条的颜色。RGB元组由三个元素组成,分别表示红色、绿色和蓝色分量的取值范围(0到1之间)。例子如下:

import matplotlib.pyplot as plt

plt.plot(x, y, color=(1, 0, 0))  # 红色

第四种就是我们上面绘制线图时使用的方法:

使用颜色缩写('r'代表红色),举个例子:

plt.plot(x,x-1,"--r",label="--r")

同时还可以使用HTML颜色名称等方法来表示颜色喔,这里不做概述。

Image.png

差点忘记讲这个了

plt.legend(loc="upper left")
#plt.legend(loc=1)

两者并没有什么差别,下面是对这两行代码的详细解释:

plt.legend(loc="upper left") 中的 loc="upper left" 表示将图例放置在左上角。这里使用字符串 "upper left" 来指定位置。

plt.legend(loc=1) 中的 loc=1 是使用数值来指定位置。在这里,1 表示右上角。

matplotlib 中的常用图例位置参数包括:

  • 0 或 "best":自动选择最佳位置
  • 1 或 "upper right":右上角
  • 2 或 "upper left":左上角
  • 3 或 "lower left":左下角
  • 4 或 "lower right":右下角
  • 5 或 "right":右侧
  • 6 或 "center left":左侧居中
  • 7 或 "center right":右侧居中
  • 8 或 "lower center":底部居中
  • 9 或 "upper center":顶部居中
  • 10 或 "center":正中央

大家可以自己实践一下喔,还挺好玩的。

好了,下面我们来对今天所学的知识进行小结:

  1. 我们学会了如何使用不同颜色不同种类的线绘制直线图

  2. 学习了matplotlib四种方法表示颜色的方法

  3. 学习了如何摆放图例的位置。

好了,今天就讲到这里了,希望与各位一起学习数据分析,有问题可以在评论区提问,我非常愿意与大家一同探讨!