繁体   English   中英

如何用熊猫改变散布图的颜色?

[英]How to change the color of scatter plot with pandas?

我正在尝试通过CSV文件中一列的值为散点图的点着色。 我正在使用pandas数据框来处理该文件,并尝试了一个简单的文件,如下所示:

在此处输入图片说明

有了这个文件,它可以很好地工作,但是当我尝试使用CSV文件进行操作时,这是错误的:

Error: c of shape (31,) not acceptable as a color sequence for x with size 31, y with size 31

这是我用来为点着色的列:

在此处输入图片说明

我的功能是读取CSV并将其绘制:

       def readCSV(self):
        try:
            nombre, ok = QtWidgets.QFileDialog.getOpenFileName(self, 'Open file', "*.csv")

            if ok:
                df = pd.read_csv(nombre, delimiter=";")
                #print (df)
                ax = self.figure.add_subplot(111)
                ax.clear()
                df.groupby('Handle').plot(y='Frecuencia Inicial (MHz)', x='TOA (ns)', kind='line', ax=ax, title='Frec VS TOA')
                df.groupby('Handle').plot(y='Frecuencia Inicial (MHz)', x='TOA (ns)', kind='scatter', ax=ax, c=df['Causa DDW'])
                self.canvas.draw()

        except Exception as e:
            print("Error:", e)

我也尝试过:

 df.groupby('Handle').plot(y='Frecuencia Inicial (MHz)', x='TOA (ns)', kind='scatter', ax=ax, c='Causa DDW')

但这不起作用,这是错误:

Error: 'str' object has no attribute 'shape'

我想念什么或做错什么? 提前致谢!

万一有人需要它! 我只是找到了一个解决方案,可能不是最好的,但是它可以工作。 我将列中的所有值与地图中的颜色相关联,并将其用于“ c”:

 col = df['Causa DDW'].map({'EXC': 'g', 'MOD': 'b', 'DUR': 'r'})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM