gpt4 book ai didi

matplotlib 散点图 : How to use the data= argument

转载 作者:行者123 更新时间:2023-12-04 12:12:15 25 4
gpt4 key购买 nike

scatter() 的 matplotlib 文档状态:

In addition to the above described arguments, this function can take a data keyword argument. If such a data argument is given, the following arguments are replaced by data[]:

All arguments with the following names: ‘s’, ‘color’, ‘y’, ‘c’, ‘linewidths’, ‘facecolor’, ‘facecolors’, ‘x’, ‘edgecolors’.


但是,我无法弄清楚如何让它发挥作用。
最小的例子
import matplotlib.pyplot as plt
import numpy as np

data = np.random.random(size=(3, 2))
props = {'c': ['r', 'g', 'b'],
's': [50, 100, 20],
'edgecolor': ['b', 'g', 'r']}

plt.scatter(data[:, 0], data[:, 1], data=props)
plt.show()
生成具有默认颜色和大小的图,而不是提供的图。
有人用过这个功能吗?

最佳答案

这似乎是大约两年前添加的一个被忽视的功能。发行说明中有一个简短的示例(
https://matplotlib.org/users/prev_whats_new/whats_new_1.5.html#working-with-labeled-data-like-pandas-dataframes )。除了这个问题和一篇简短的博客文章( https://tomaugspurger.github.io/modern-6-visualization.html ),我能找到的就是这些。

基本上,任何类似 dict 的对象(文档称之为“标记数据”)都在 data 中传递。参数,并根据其键指定绘图参数。例如,您可以创建一个包含字段 a 的结构化数组。 , b , 和 c

coords = np.random.randn(250, 3).view(dtype=[('a', float), ('b', float), ('c', float)])

您通常会创建一个 a 的图。对比 b使用
pyplot.plot(coords['a'], coords['b'], 'x')

但是使用 data 参数可以完成
pyplot.plot('a', 'b','x', data=coords)

标签 b可以与将线条设置为蓝色的样式字符串混淆,但第三个参数消除了这种歧义。它也不限于 x 和 y 数据,
pyplot.scatter(x='a', y='b', c='c', data=coords)

将根据列“c”设置点颜色。

看起来这个功能是为 Pandas 数据帧添加的,并且比其他对象更好地处理它们。此外,它似乎没有很好的文档记录并且有些不稳定(使用 xy 关键字参数在 plot 命令中失败,但与 scatter 一起工作正常,错误消息没有帮助)。话虽如此,当您要绘制的数据具有标签时,它提供了一个很好的速记。

关于matplotlib 散点图 : How to use the data= argument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39919170/

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