我希望第一个子图仅包含“Máximo”,“Média”,“Mínimo”,第二个仅包含“ Amplitude”,“ DesvioPadrão”。
我尝试了以下操作:
fncnB = (* 2)
fncnA = (* 3)
fs' fs = zip (map (fncnA . fst) fs) $ map (fncnB . snd) fs
我知道我可以使用plt.plot()进行多次调用,但是有办法解决seaborn吗?
def plotGraph(title, z): #Todo Completar a função com legendas e título.
sns.set()
fig, ax = plt.subplots(2,1)
sns.lineplot(data=z, hue=['Máximo', 'Média', 'Mínimo'], ax=ax[0])
sns.lineplot(data=z, hue=['Amplitude', 'Desvio Padrão'], ax=ax[1])
plt.show()
谢谢,但是我意识到我不需要'DesvioPadrão'。有没有办法只说明图例“振幅”?
**EDITED**
答案 0 :(得分:1)
您需要对数据框进行子集化,以仅包括要绘制的列:
import pandas as pd
import numpy as np; np.random.seed(0)
import matplotlib.pyplot as plt
import seaborn as sns
import cufflinks as cf
# Generate sample data
df = cf.datagen.lines(5)
df.columns = ['Máximo', 'Média', 'Mínimo', 'Amplitude', 'Desvio Padrão']
df = df.reset_index(drop=True)
def plotGraph(title, z):
sns.set()
fig, ax = plt.subplots(2,1)
fig.suptitle(title)
sns.lineplot(data=z[['Máximo', 'Média', 'Mínimo']], hue=['Máximo', 'Média', 'Mínimo'], ax=ax[0])
sns.lineplot(data=z[['Amplitude', 'Desvio Padrão']], hue=['Amplitude', 'Desvio Padrão'], ax=ax[1])
fig.tight_layout(rect=[0, 0.03, 1, 0.95])
plt.show()
plotGraph('Plot Title', df)