Добавьте среднее значение и 3 * std к точечной диаграмме, используя matplotlib - PullRequest
0 голосов
/ 26 марта 2020

Я получил точечный график и хочу добавить прямую линию для среднего, 3 * стандартного + среднего и 3 * стандартного среднего. Я, кажется, имею среднюю заговор, но не могу выработать стандарт! Спасибо

import numpy as np  
import pandas as pd
import matplotlib.pyplot as plt 

    for element in df_na.loc[:, 'Ag_ppb':'Zr_ppb']:
        temp_df = df_na.loc[:, ['Date', element]].dropna()
        fig =plt.figure()
        plt.scatter(temp_df['Date'], temp_df[element],c='black',s=10)
        plt.plot(temp_df['Date'],[df_na[element].mean()]*len(x))
        plt.xlabel('Date')
        plt.xticks(rotation =90, fontsize=5)
        plt.ylabel(element)
        plt.show() 

Ответы [ 3 ]

0 голосов
/ 31 марта 2020

Итак, я включил вышеприведенное, которое работает, см. Ниже:

plt.plot(temp_df['Date'],[temp_df[element].mean(axis=0,skipna=True)]*len(x), c='red',label='Mean')

, но следующее не будет отображать 3 * стандартное + среднее.

 plt.plot(temp_df['Date'],[temp_df[element].mean()]+[temp_df[element].std(axis=0,skipna=True)*3]*len(x),label='3xstd') 
0 голосов
/ 07 апреля 2020

Вышеописанное сработало, но без добавления среднего значения к 3 * std не отображается в виде линии.

0 голосов
/ 27 марта 2020

Вы хотите использовать dataframe.std ():

df_na.std(axis=0,skipna=True)[element]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...