簡體   English   中英

在python中繪制多個Y軸+“色調”散點圖

[英]Plot Multiple Y axis + 'hue' scatterplot in python

數據框

df
Sample Type   y1   y2   y3  y4
S1     H     1000  135  220  171
S2     H     2900  1560 890  194
S3     P     678   350  127  255
S4     P     179   510  154  275

我想繪制y1y2y3y4Sample散點圖,色調為Type

在Seaborn有什么辦法嗎?

因為,你只想要一個情節,你可以使用sns.scatterplot

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

#df = pd.read_csv('yourfile.csv')

#plotting
df1 = df.melt(['Type','Sample'])
sns.scatterplot(data=df1, x="Sample", y="value",hue="Sample",style="Type")
plt.show()

在此處輸入圖像描述

如果你想要多個散點圖,你可以使用sns.relplot

#some preprocessing
df1 = df.melt(['Type','Sample'])
#plotting
sns.relplot(data=df1, x="Sample", y="value", hue="Type", col="variable", height=2, aspect=1.5)
plt.show()

在此處輸入圖像描述

如果您想要 2x2 網格:

df1 = df.melt(['Type','Sample'])
#plotting
sns.relplot(data=df1, x="Sample", y="value", hue="Type", col="variable",col_wrap=2, height=2,   aspect=1.5)
plt.show()

在此處輸入圖像描述

如果您想要 1x4 網格:

df1 = df.melt(['Type','Sample'])
#plotting
sns.relplot(data=df1, x="Sample", y="value", hue="Type", col="variable",col_wrap=1, height=2,   aspect=1.5)
plt.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM