2 回答

TA貢獻1859條經(jīng)驗 獲得超6個贊
我希望這是你想要的。
seaborn scatterplot可以將數(shù)據(jù)分類到一些具有相同代碼(在這種情況下為時間代碼)并使用相同顏色的組。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_csv(r"E:\Programming\Python\Matplotlib\timecodes.csv",
names=["time","x","y","z","code"]) #use your file
df["time"]=pd.to_datetime(df["time"]) #recognize the data as Time
df["x"]=df["time"].dt.day # I changed the data into "Date only" and imported to x column. Easier to see on graph.
#just used random numbers in y and z in my data.
sns.scatterplot("x", "y", data = df, hue = "code") #hue does the grouping
plt.show()
我在這里使用了 csv 文件,但您也可以通過添加sep="\t"參數(shù)來處理您的文本文件。我還在文件中添加了一個代碼。如果你有它,代碼可以對圖中的數(shù)據(jù)進行分組,所以你不必分開或制作分層索引。如果您想更改顏色或分組,請參閱 seaborn 網(wǎng)站。
希望這可以幫助。

TA貢獻1824條經(jīng)驗 獲得超5個贊
替代,我使用的方法,但蒂姆的回答仍然準確。由于時間碼不是日期/時間信息,我修改了自己的代碼以添加標簽作為第二列,我稱之為“p”(它們是聚合物)。
import numpy as np
import pandas as pd
datain = np.loadtxt('somefile.txt')
df = pd.DataFrame(data = datain, columns = ["t","p","x","y","z"])
ax = sns.scatterplot("t","x", data = df, hue = "p")
plt.show()
當然,如果需要,可以類似地繪制其他列。
添加回答
舉報