如题,最近有绘图的工作,要求就是使用python绘图库来画线并打上坐标点的标志,这时候就遇到了问题,这个线上的标志如果是实心的话就难以有区分度,但是设置为空心就需要考虑标
如题,最近有绘图的工作,要求就是使用python绘图库来画线并打上坐标点的标志,这时候就遇到了问题,这个线上的标志如果是实心的话就难以有区分度,但是设置为空心就需要考虑标志的边线粗细等问题,于是便有了本文。
给出自己的绘图代码:
plt.plot([0, 1, 2, 3, 4, 5], [0.1, 0.2, 0.3, 0.4, 0.5, 0.6],\
color='r', label="Hello World", lw=1.5, ls='-', clip_on=False,\
marker='d', markersize=10, markerfacecolor='none', markeredgecolor='r',markeredgewidth=1.5)
plt.legend(loc="lower right", framealpha=1.0, edgecolor="black")
plt.xlabel('XXX')
plt.ylabel('YYY')
plt.xlim(0, 5)
plt.ylim(0, 1)
plt.xticks([0,1,2,3,4,5], [0,10,20,30,40,50])
plt.grid()
plt.show()
===================================================
关键语句:
本文重点说明的参数:
clip_on=False 关闭标志marker被画布框覆盖,不设置该值的话与画布框碰撞的标志marker会被覆盖。marker='d' 设置标志marker的具体图形
markersize=10 设置标志marker的大小
markerfacecolor='none' 设置标志marker是否使用空心显示,不设置该值的话默认为实心marker标志
markeredgecolor='r' 设置标志marker的边线颜色,marker的内心颜色随线走保持一直,marker的边框颜色可以在这里单独设置
markeredgewidth=1.5 设置标志marker的边框(边线)的粗细
另外再给出一个例子:
import matplotlib.pyplot as pltplt.plot([0, 1, 2, 3, 4, 5], [0.1, 0.2, 0.3, 0.4, 0.5, 0.6],\
color='r', label="Hello World", lw=1.5, ls='-', clip_on=False,\
marker='d', markersize=10, \
# markerfacecolor='none',\
markeredgecolor='black',markeredgewidth=1.5)
plt.legend(loc="lower right", framealpha=1.0, edgecolor="black")
plt.xlabel('XXX')
plt.ylabel('YYY')
plt.xlim(0, 5)
plt.ylim(0, 1)
plt.xticks([0,1,2,3,4,5], [0,10,20,30,40,50])
plt.grid()
plt.show()
可以看到上图中标志marker并没有被画布框所遮盖,标志marker的外边线为黑色black而内心与线的颜色一致为红色。
参考:
https://www.bianchengquan.com/article/216001.html