gpt4 book ai didi

python - 如何在 matplotlib 中绘制不同边色的散点图?

转载 作者:行者123 更新时间:2023-11-28 18:20:48 25 4
gpt4 key购买 nike

我想绘制一个没有面色不同边色的散点图。换句话说,彩色圆圈。

我以为我可以在 matplotlib 库中轻松找到解决方案,但令人惊讶的是我找不到。参数“edgecolors”不接受数组作为值。操纵参数“c”对边缘颜色没有帮助,但对面部颜色有帮助。

这是我认为可以解决的链接: https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.scatter.html enter image description here

页尾的demo图片好像有五颜六色的edgecolors!然后我下载脚本并运行它: enter image description here

边缘仍然是黑色的。

我现在正在以其他方式进行我的计划。 (因为这不是什么大事。这只是一个兴趣问题。)我只是想知道该演示是如何获得彩色边缘的。

最佳答案

正如其他人所说,演示脚本获得彩色边缘的方式是 matplotlib 2.0 自动将散点图中各点的边缘颜色设置为提供的颜色参数。

但是,如果您想在不更新到 mpl 2.0 的情况下重新创建演示脚本的结果(尽管我推荐这样做),您只需向散点线添加一个额外的关键字参数,如下所示

plt.scatter(x, y, s=area, c=colors, alpha=0.5, edgecolors=colors)

为了完整起见,您可以通过伪造来实现您最初的彩色圆圈想法。您只需要将内部颜色更改为白色,即

plt.scatter(x, y, s=area, c='w', alpha=0.5, edgecolors=colors)

此外,您不能像在演示脚本中为“c”参数所做的那样使用单个 float 来定义边缘颜色的颜色,因此您需要提供一个长度为 N 都是指定的颜色,例如['r', 'g', 'b'],或者将颜色的定义替换为

colors = np.random.random((N, p))

其中 p 是 3 或 4,具体取决于您在绘图中想要 RGB 还是 RGBA 颜色。这应该产生类似下面的情节

Output from scatter_demo.py with no face colour and colourful edges

关于python - 如何在 matplotlib 中绘制不同边色的散点图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45247486/

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