我有兩個從單獨的 for 回圈生成的資料幀字典。
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
Control_Keys = ('C1','C2','C3','C4')
Patient_Keys = ('P1','P2','P3','P4','P5','P6')
df_columns = ['Reads','Score']
C_dict = {}
P_dict = {}
# Generating dictionaries of dataframes
for i in Control_Keys:
C_dict[i] = pd.DataFrame(np.random.randint(0,100,size=(100,2)), columns=df_columns)
for i in Patient_Keys:
P_dict[i] = pd.DataFrame(np.random.randint(0,100,size=(100,2)), columns=df_columns)
我想在同一圖表上使用同一軸繪制他們的資料,其中 x 軸是“讀取”,y 軸是“分數”。我還希望能夠區分這兩組(不是單個資料),其中所有屬于控制元件的資料都是藍色的,而患者是紅色的。我可以單獨繪制這些圖,但我無法找到一種可靠的方法將這兩個圖合并為一個圖。
uj5u.com熱心網友回復:
我會稍微重新設計您的資料框以實作您的繪圖目標。我會首先將鍵分配為一列(如果需要區分,可以選擇)并將列分配為另一個屬性以幫助區分顏色(hue)
下面我將所有的 C、P 組合起來并分配兩個新列:Table和Hue
c = pd.DataFrame()
for key in Control_Keys:
C_dict[key]['Table'] = key
C_dict[key]['Hue'] = 'C'
c = c.append(C_dict[key])
p = pd.DataFrame()
for key in Patient_Keys:
P_dict[key]['Table'] = key
P_dict[key]['Hue'] = 'P'
p = p.append(P_dict[key])
然后繪制它們并hue為顏色分配分配引數并palette更改顏色:
sns.scatterplot(x='Reads', y='Score', hue='Hue', data=p.append(c), palette=['Red', 'Blue'])
plt.show()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/439415.html
上一篇:更快地轉換資料集中的值
