Matplotlib 线条

线条样式

您可以使用关键字参数 linestyle, 或简写方式 ls, 来改变绘制的线条的样式:

实例

用 dotted 点线:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. ypoints = np.array([3, 8, 1, 10])
  7. plt.plot(ypoints, linestyle = 'dotted')
  8. plt.show()
  9. #Two lines to make our compiler able to draw:
  10. plt.savefig(sys.stdout.buffer)
  11. sys.stdout.flush()
结果:

实例

使用 dashed 虚线:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. ypoints = np.array([3, 8, 1, 10])
  7. plt.plot(ypoints, linestyle = 'dashed')
  8. plt.show()
  9. #Two lines to make our compiler able to draw:
  10. plt.savefig(sys.stdout.buffer)
  11. sys.stdout.flush()
结果:


简写语法

线条样式可以用较短的语法编写:

  • linestyle 线型可以写成 ls
  • dotted 可以写成
  • dashed可以写成
实例

简写语法:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. ypoints = np.array([3, 8, 1, 10])
  7. plt.plot(ypoints, ls = ':')
  8. plt.show()
  9. plt.savefig(sys.stdout.buffer)
  10. sys.stdout.flush()
结果:


更多线条样式

您可以选择如下线条样式:

样式简写
'solid' (default)'-'试一试 »
'dotted'':'试一试 »
'dashed''—'试一试 »
'dashdot''-.'试一试 »
'None''' or ' '试一试 »

线条颜色

您可以使用关键字参数 color 或者简写方式 c 来设置线条的颜色:

实例

设置线条为红色:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. ypoints = np.array([3, 8, 1, 10])
  7. plt.plot(ypoints, color = 'r')
  8. plt.show()
  9. plt.savefig(sys.stdout.buffer)
  10. sys.stdout.flush()
结果:

您也可以使用 十六进制颜色值:

实例

用漂亮的绿色来绘制线条:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. ypoints = np.array([3, 8, 1, 10])
  7. plt.plot(ypoints, c = '#4CAF50')
  8. plt.show()
  9. plt.savefig(sys.stdout.buffer)
  10. sys.stdout.flush()
结果:

或者使用其他 140 种支持的颜色名称

实例

使用名叫 “hotpink” 的颜色来绘制:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. ypoints = np.array([3, 8, 1, 10])
  7. plt.plot(ypoints, c = 'hotpink')
  8. plt.show()
  9. #Two lines to make our compiler able to draw:
  10. plt.savefig(sys.stdout.buffer)
  11. sys.stdout.flush()
结果:


线条宽度

您可以使用关键字参数 linewidth 或者简写方式 lw 来改变线条的宽度。

该值为浮点数:

实例

用 20.5pt 宽的线绘制:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. ypoints = np.array([3, 8, 1, 10])
  7. plt.plot(ypoints, linewidth = '20.5')
  8. plt.show()
  9. #Two lines to make our compiler able to draw:
  10. plt.savefig(sys.stdout.buffer)
  11. sys.stdout.flush()
结果:


多线条

只需添加 plt.plot() 函数,即可绘制任意多条线:

实例

通过 plt.plot() 函数来为每条线指定样式,来绘制两条线:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. y1 = np.array([3, 8, 1, 10])
  7. y2 = np.array([6, 2, 7, 11])
  8. plt.plot(y1)
  9. plt.plot(y2)
  10. plt.show()
  11. plt.savefig(sys.stdout.buffer)
  12. sys.stdout.flush()
结果:

还可以通过 plt.plot() 函数,为同一直线中的每条直线添加 x 轴和 y 轴的点来绘制多条直线。

(在上面的示例中,我们只指定了 y 轴上的点,这意味着 x 轴上的点获得了默认值(0、1、2、3)。)

x 值和 y 值成对出现:

实例

通过指定两条线的 x 点和 y 点值绘制两条线:

  1. import sys
  2. import matplotlib
  3. matplotlib.use('Agg')
  4. import matplotlib.pyplot as plt
  5. import numpy as np
  6. x1 = np.array([0, 1, 2, 3])
  7. y1 = np.array([3, 8, 1, 10])
  8. x2 = np.array([0, 1, 2, 3])
  9. y2 = np.array([6, 2, 7, 11])
  10. plt.plot(x1, y1, x2, y2)
  11. plt.show()
  12. plt.savefig(sys.stdout.buffer)
  13. sys.stdout.flush()
结果: