Недостающие точки данных на морском участке - PullRequest
0 голосов
/ 27 апреля 2020

Как мне отобразить определенный c набор данных в коробчатых диаграммах?

У меня есть такой запрос.

data={'Unnamed: 0': [np.nan, np.nan, 'f', 's', np.nan, 's', np.nan, np.nan, np.nan, np.nan, np.nan],
      'Unnamed: 1': ['e1','e1','e2','e2','e2','e3','e3','e3','e4','e4','e4'],
      'pH': [4, 6, 4, 6, 7, 5, 7, 8, 4, 6, 8],
      'sa': [43.0, 41.0, 34.0, 45.0, 12.0, 65.0, 34.0, 22.0, 2.2, 0.0, 0.0],
      'sb': [2.0, 1.5, 5.0, 5.2, 34.0, 76.0, 53.0, 4.3, 0.0, np.nan, 5.0],
      'sc': [4.2, 2.0, 66.0, 45.0, 15.0, 7.6, 9.0, np.nan, 6.0, 88.0, np.nan],
      'sd': [87.0, 47.0, 78.0, 90.0, 4.7, np.nan, 67.0, 3.4, 5.6, 0.0, np.nan],
      'se': [9.0, 3.3, 32.0, 4.5, 9.2, np.nan, 9.0, 34.0, 56.0, 2.1, np.nan],
      'sf': [7.0, 4.0, 3.0, 55.0, 67.0, 45.0, np.nan, np.nan, 65.0, 0.0, np.nan]}

Я написал следующий код, чтобы показать некоторые точки данных ,

# Read the dict.
df=pd.DataFrame.from_dict(data)
df_1=df.set_index(["Unnamed: 1"])

# Remove irrelevant columns.
data_relevant=df_1[["pH","sa","sb","sc","sd","se"]]

# Get the enzyme activity of enzyme-of-interest.
a=data_relevant.loc["e4"]

# Boxplot.
fig,axes=plt.subplots(1,5,figsize=(24,8))
substrates=["sa","sb","sc","sd","se"]
fig.subplots_adjust(wspace=0.5)

for i, substrate in enumerate (substrates):
    axes[i].set_xlabel("pH",fontsize=24)
    axes[i].set_ylabel(substrate,fontsize=24)
    axes[i].tick_params(axis="x", labelsize=16)
    axes[i].tick_params(axis="y", labelsize=16)

    a.plot(x="pH",y=substrate,ax=axes[i%5],
           color="red",linestyle="None",marker="o",
           legend=None)

Я попытался выделить эти точки данных на блокпостах.

for i, substrate in enumerate (substrates):
    axes[i].set_xlabel("pH",fontsize=24)
    axes[i].set_ylabel(substrate,fontsize=24)
    axes[i].tick_params(axis="x", labelsize=16)
    axes[i].tick_params(axis="y", labelsize=16)

    sns.boxplot(x="pH",y=substrate,data=data_relevant,
                width=0.5,
                ax=axes[i%5])

    a.plot(x="pH",y=substrate,ax=axes[i%5],
           color="red",linestyle="None",marker="o",
           legend=None)

Многие точки данных отсутствовали на блокпостах. Может кто-нибудь показать мне, почему мой код не работает? Спасибо!

...