可能似乎是一个重复的问题,但是this帖子中的解决方案似乎对我不起作用。
我有一堆要绘制为直线/曲线的数据,另一个数据集链接到由XYZ数据组成的曲线,其中Z代表曲线的标记变量。
我这里有一些示例代码,其中包含一些XY数据,labels供任何想要复制我正在做的事情的人使用:
plt.plot(xdata, ydata)
plt.scatter(xlab, ylab, c=lab) # needs a marker function adding
plt.show()
理想情况下,我想基于标签值添加某种唯一标记; 0.1,0.5,1,2,3,4,6,8,10,20。每条曲线的标签均相同。
我要绘制100多条曲线,因此需要快速有效的方法。任何帮助都会很棒!
我当前的解决方案是只通过标记值来分割数据,然后为每个数据分别绘制(我认为冗长而混乱)。有人认为这里可能有一个更优雅的解决方案。
我猜你可以用字典来做到这一点……但是我可能需要一些帮助!
干杯,KB
答案 0 :(得分:0)
Matplotlib 不接受每个图不同的标记。
但是,对于大型数据集,使用 UserInterfaceOnly = True
和 Workbook_Open
库的一种更简洁、更可靠的解决方案是:
此外,您可以使用 UserInterfaceOnly = False
函数绘制 bin(这是我经常需要生成的图表,我可以使用第三个连续值作为参数)。使用方法是:
Workbook_BeforeClose
并生成以下示例:
如果您有更高级的标签,您还可以查看 LabelEncoder of Sklearn。
希望我对这个答案进行了足够的编辑,不会冒犯 don't post identical answers to multiple questions。对于什么是有价值的,我不以任何方式隶属于 seaborn 图书馆,我也不试图推广任何东西。我唯一想做的就是帮助遇到类似问题的人,我在 SE 中无法轻松找到明确的答案。