python显示图像某列的颜色值_Python Pandas Matplotlib图由单列中定义的类型值着色
我有以下格式的數據:
import pandas as ps
table={'time':[1,2,3,4,5,1,2,3,4,5,1,2,3,4,5],\
'data':[1,1,2,2,2,1,2,3,4,5,1,2,2,2,3],\
'type':['a','a','a','a','a','b','b','b','b','b','c','c','c','c','c']}
df=ps.DataFrame(table,columns=['time','data','type']
我想將數據繪制成一條線連接的時間的函數,但我希望每一條線都是唯一類型的單獨顏色.在此示例中,結果將是三行:每種類型a,b和c的data(time)行.任何指導表示贊賞.
我無法使用此數據生成一行-pandas.scatter將生成一個圖,而pandas.plot將不生成.我一直在用循環弄亂每種類型的圖,但是我沒有找到直接的方法.我的數據通常具有未知數量的唯一“類型”.熊貓和/或matpltlib是否可以創建這種情節?
解決方法:
如果所有索引都正確編制,熊貓繪圖功能將允許您執行此操作.但是,有時直接使用matplotlib會更容易:
import pandas as pd
import matplotlib.pyplot as plt
table={'time':[1,2,3,4,5,1,2,3,4,5,1,2,3,4,5],
'data':[1,1,2,2,2,1,2,3,4,5,1,2,2,2,3],
'type':['a','a','a','a','a','b','b','b','b','b','c','c','c','c','c']}
df=pd.DataFrame(table, columns=['time','data','type'])
groups = df.groupby('type')
fig, ax = plt.subplots()
for name, group in groups:
ax.plot(group['time'], group['data'], label=name)
ax.legend(loc='best')
plt.show()
如果您希望使用熊貓圖包裝器,則需要覆蓋圖例標簽:
import pandas as pd
import matplotlib.pyplot as plt
table={'time':[1,2,3,4,5,1,2,3,4,5,1,2,3,4,5],
'data':[1,1,2,2,2,1,2,3,4,5,1,2,2,2,3],
'type':['a','a','a','a','a','b','b','b','b','b','c','c','c','c','c']}
df=pd.DataFrame(table, columns=['time','data','type'])
df.index = df['time']
groups = df[['data', 'type']].groupby('type')
fig, ax = plt.subplots()
groups.plot(ax=ax, legend=False)
names = [item[0] for item in groups]
ax.legend(ax.lines, names, loc='best')
plt.show()
標簽:pandas,matplotlib,python
來源: https://codeday.me/bug/20191028/1955366.html
總結
以上是生活随笔為你收集整理的python显示图像某列的颜色值_Python Pandas Matplotlib图由单列中定义的类型值着色的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 南方h5手簿求转换参数_工程之星、 gp
- 下一篇: 字段定义_逐浪CMS对用户注册字段正则的