[英]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.