python - 如何在 matplotlib 中绘制带有虚线/点线边缘的标记?

标签 python matplotlib

我想用虚线而不是实线绘制一个标记(星号)。有没有办法在 matplotlib 中做到这一点?这是一个简单的代码,可以绘制一个带有实线边框的标记:

plot([1],[1],marker=(5,1,0),markersize=30,mfc='gold',mec='k',mew=1)

提前感谢您的帮助!

最佳答案

好吧,我遇到了完全相反的问题,即我想使用实线(不是虚线、点线等)绘制标记。 如果您将 linestyle 传递给 plot,它应该(对我来说很不幸)以传递的 linestyle 的样式绘制标记边缘。 最小的工作示例:

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');

是的,我知道,python 中没有分号。 :) 这很有趣,但是在 plt.show() 之后标记不可见——需要保存整个图。 如果您想恢复实心标记,只需将 mfc(我想是 alpha channel )中的最后一个值更改为,例如,0.0001。这允许保持标记实心但仍然“几乎”透明。

关于python - 如何在 matplotlib 中绘制带有虚线/点线边缘的标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38316746/

相关文章:

python - 在一张图中而不是在多张图中绘制多个图形

python - 如何停止从打印到 stderr 的 Django 单元测试记录?

python - 如何检查 numpy 数组的维度?

python - +\Python 中的运算符

python - 在 python 中快速简便地模板化 xml 文件的方法

python - 每个子图中的 matplotlib 颜色条

python - PDFMiner - 将页面导出为字符串列表

python - 如何在matplotlib中调整暂停动画的坐标范围?

python 安装 numpy 和 matplotlib 异常(使用 pip)

等高线图中的 Python Matplotlib 非线性缩放