如何在python中使用matplotlib制作空心方形标记

vai*_*war 23 python matplotlib

下图中的黑线是使用matplotlib python的以下命令绘制的

pylab.semilogy(xaxis, pq_averages, 'ks-',color='black', label='DCTCP-PQ47.5')
Run Code Online (Sandbox Code Playgroud)

所以'ks-'部分表示带有方形黑色标记的实线.所以它有绘制点的实心方块.这些方块可以做成空心的吗?

在此输入图像描述

Hug*_*ell 37

尝试添加markerfacecolor如下:

pylab.semilogy(xaxis, pq_averages, 'ks-', markerfacecolor='none', label='DCTCP-PQ47.5')
Run Code Online (Sandbox Code Playgroud)

  • 很好的答案.稍微改进的是使用`markerfacecolor ='none',但一般来说,你的解决方案在90%的时间都是完美的. (14认同)
  • @HughBothwell,您可以编辑使用markerfacecolor ='none'的答案吗? (5认同)
  • 在matplotlib 3.0.2中,显然没有markerfacecolor。facecolor='none' 确实有效。 (2认同)

Sab*_*ber 10

设置markerfacecolor='white'实际上并不使它们空心,而是使它们变白.为了使它们空心,你需要设置markerfacecolor='none'.此外,您需要设置markeredgecolor所需的颜色.所以:

pylab.semilogy(xaxis, pq_averages, 'ks-',color='black',
       label='DCTCP-PQ47.5', markerfacecolor='none', markeredgecolor='black')
Run Code Online (Sandbox Code Playgroud)

会为你做这份工作.

  • "此外,你需要将`markerfacecolor`设置为你想要的颜色." 你的意思是'markeredgecolor`,对吗? (2认同)