Diz*_*ahi 6 matplotlib scatter-plot
matplotlib 文档说明scatter():
\n\n除了上述参数之外,该函数还可以采用 data 关键字参数。如果给出这样的数据参数,则以下参数将替换为 data[]:
\n具有以下名称的所有参数:\xe2\x80\x98s\xe2\x80\x99、\xe2\x80\x98color\xe2\x80\x99、\xe2\x80\x98y\xe2\x80\x99、\xe2\x80 \x98c\xe2\x80\x99、\xe2\x80\x98linewidths\xe2\x80\x99、\xe2\x80\x98facecolor\xe2\x80\x99、\xe2\x80\x98facecolors\xe2\x80\x99、\xe2 \x80\x98x\xe2\x80\x99,\xe2\x80\x98edgecolors\xe2\x80\x99。
\n
但是,我不知道如何让它工作。\n最小的例子
\nimport matplotlib.pyplot as plt\nimport numpy as np\n\ndata = np.random.random(size=(3, 2))\nprops = {'c': ['r', 'g', 'b'],\n 's': [50, 100, 20],\n 'edgecolor': ['b', 'g', 'r']}\n\nplt.scatter(data[:, 0], data[:, 1], data=props)\nplt.show()\nRun Code Online (Sandbox Code Playgroud)\n生成具有默认颜色和大小的图,而不是提供的图。
\n有人用过这个功能吗?
\n这似乎是大约两年前添加的一个被忽视的功能。发行说明有一个简短的示例( 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)之外,这就是我能找到的全部。
基本上,任何类似字典的对象(文档称之为“标记数据”)都会在参数中传递data,并且根据其键指定绘图参数。例如,您可以创建一个包含字段a、b和的结构化数组c
coords = np.random.randn(250, 3).view(dtype=[('a', float), ('b', float), ('c', float)])
Run Code Online (Sandbox Code Playgroud)
您通常会使用以下命令创建avs的绘图b
pyplot.plot(coords['a'], coords['b'], 'x')
Run Code Online (Sandbox Code Playgroud)
但使用 data 参数可以完成
pyplot.plot('a', 'b','x', data=coords)
Run Code Online (Sandbox Code Playgroud)
标签b可能会与将线条设置为蓝色的样式字符串混淆,但第三个参数消除了这种歧义。它也不限于 x 和 y 数据,
pyplot.scatter(x='a', y='b', c='c', data=coords)
Run Code Online (Sandbox Code Playgroud)
将根据“c”列设置点颜色。
看起来这个功能是为 pandas 数据帧添加的,并且比其他对象更好地处理它们。此外,它似乎记录很少,并且有些不稳定(使用x和y关键字参数在plot命令中失败,但在使用 时工作正常scatter,错误消息没有帮助)。话虽如此,当您想要绘制的数据带有标签时,它提供了一个很好的速记方式。
| 归档时间: |
|
| 查看次数: |
5321 次 |
| 最近记录: |