【发布时间】:2019-10-21 12:11:04
【问题描述】:
我有以下数据框
import pandas as pd
data_tmp = pd.DataFrame({'x': [0,14,28,42,56, 0,14,28,42,56],
'y': [0, 0.003, 0.006, 0.008, 0.001, 0*2, 0.003*2, 0.006*2, 0.008*2, 0.001*2],
'cat': ['A','A','A','A','A','B','B','B','B','B'],
'color': ['#B5D8F0','#B5D8F0','#B5D8F0','#B5D8F0','#B5D8F0','#247AB2','#247AB2','#247AB2','#247AB2','#247AB2'],
'point': [14,14,14,14,14,28,28,28,28,28],
'linestyles':['-','-','-','-','-','--','--','--','--','--']})
我想根据cat 生成具有不同color 和linestyles 的线图。但我想根据cat 给出具体的color 和linestyles,因为它们在dataframe 中定义。最后我想用相同的颜色标记每一行上的points。
我只试过:
sns.lineplot(x="x", y="y", hue="cat", data=data_tmp)
sns.scatterplot(x="point",y="y",hue="cat", data=data_tmp[data_tmp.point==data_tmp.x])
plt.show()
有什么想法吗?
【问题讨论】:
标签: python python-3.x matplotlib plot seaborn