我想画一个带虚线边框线的标记(星形)。在matplotlib中是否有这样一个方法?以下是一个绘制实心边框标记的简单代码:
plot([1],[1],marker=(5,1,0),markersize=30,mfc='gold',mec='k',mew=1)
感谢您提前的帮助!
谢谢!
我想画一个带虚线边框线的标记(星形)。在matplotlib中是否有这样一个方法?以下是一个绘制实心边框标记的简单代码:
plot([1],[1],marker=(5,1,0),markersize=30,mfc='gold',mec='k',mew=1)
一个“自己动手”的方法。
绘制一个星形。
绘制一些圆形,颜色为白色的边缘线。这将覆盖星形的边界。因此星形看起来像虚线。
用金色填充星形,但不要描边。
代码如下:
import matplotlib.pyplot as plt
plt.plot([1], [1], marker=(5, 1, 0), markersize=30, mfc='none', mec='k', mew=1)
for i in range(4):
plt.plot([1], [1], marker='o', markersize=30-5*i,
mfc='none', mec='w', mew=1)
plt.plot([1], [1], marker=(5, 1, 0), markersize=30, mfc='gold', mec='k', mew=0)
plt.show()
结果图如下:
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4, 5];
y = [0, 1, 4, 9, 16, 25];
plt.plot(x, y,
label='y = x^2',
linestyle=':',
marker='s',
color='r',
mec='r',
markersize=10,
mfc=(1,1,1,0.0)
);
plt.legend(loc='best', ncol=1, fontsize=13);
plt.savefig('/tmp/test.eps', format='eps', dpi=400, bbox_inches='tight');
plt.show()
之后标记不可见 - 必须保存整个图。如果你想要恢复实心标记,只需将 mfc
(透明度通道)的最后一个值更改为,例如,0.0001
。这样可以保持标记实心,但仍然'几乎'透明。linestyle
对我来说并不改变标记样式。 - abcdlinestyle
改变了线条的样式(顾名思义 ;)). 要更改标记,请使用marker
选项,例如,marker=d
或类似的东西。 - shycha