gpt4 book ai didi

python - Matplotlib 线宽基于轴,而不是基于点

转载 作者:行者123 更新时间:2023-11-28 22:28:35 27 4
gpt4 key购买 nike

如果您在 Matplotlib 中设置线宽,则必须以磅为单位给出线宽。在我的例子中,我有两个圆,半径都是 R,我想用一条线连接它们。我希望这条线的宽度为 2*R 以获得杆状。但是当我说 myLines[i].set_linewidth(2*R) 时,无论我放大了多少,这都会使线条始终具有特定的粗细。

有没有一种方法可以使线条具有特定的粗细,而不是基于像素或点的数量,而是随轴缩放?我怎样才能使我的线的宽度与圆的直径相同?

我希望我自己解释得足够好,我期待着一个答案。

最佳答案

数据单元行

为了用数据单位的线宽画一条线,你可能想看看 this answer .

它使用类 data_linewidth_plot,它与 plt.plot() 命令的签名非常相似。

l = data_linewidth_plot( x, y, ax=ax, label='some line', linewidth = 1, alpha = 0.4)

线宽参数以 (y-) 数据单位解释。

使用此解决方案甚至不需要绘制圆圈,因为可以简单地使用 solid_capstyle="round" 参数。

R=0.5
l = data_linewidth_plot( [0,3], [0.7,1.4], ax=ax, solid_capstyle="round",
linewidth = 2*R, alpha = 0.4)

enter image description here

杆状

使用矩形和两个圆更容易制作杆。 enter image description here

关于python - Matplotlib 线宽基于轴,而不是基于点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43495016/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com