Изменить формат оси в графике результатов тестирования TukeyHSD в python - PullRequest
1 голос
/ 22 февраля 2020

Я запускаю тест TukeyHSD с функциями MultiComparison из statsmodels.stats.multicomp и затем готовлю результаты. Все хорошо, но ось X отформатирована в числа Int. Мне нужно изменить формат на Float с двумя десятичными знаками. В дополнении было бы здорово, если бы я мог показать все графики на одной фигуре с несколькими субплотами.

Я отправляю образец

import pandas as pd     
import matplotlib.pyplot as plt from    
statsmodels.stats.multicomp import MultiComparison

df = pd.read_excel('datafile.xlsx', 'data', header=0)

    Treatment   Assesment   Evaluation
0   1   1   14.61
1   1   1   11.41
2   1   1   15.89
3   1   1   15.24
4   1   1   11.00
5   2   1   12.87
6   2   1   11.32
7   2   1   17.74
8   2   1   13.00
9   2   1   13.90
10  3   1   15.83
11  3   1   14.97
12  3   1   15.81
13  3   1   18.66
14  3   1   14.06
15  4   1   16.32
16  4   1   14.54
17  4   1   16.95
18  4   1   13.60
19  4   1   14.36
20  1   2   17.57
21  1   2   21.81
22  1   2   17.80
23  1   2   17.00
24  1   2   18.74
25  2   2   18.18
26  2   2   20.66
27  2   2   19.99
28  2   2   16.80
29  2   2   18.22
30  3   2   19.35
31  3   2   19.84
32  3   2   23.38
33  3   2   20.47
34  3   2   21.42
35  4   2   25.52
36  4   2   20.50
37  4   2   20.18
38  4   2   19.97
39  4   2   19.60
40  1   3   17.35
41  1   3   23.96
42  1   3   17.83
43  1   3   23.21
44  1   3   22.53
45  2   3   22.83
46  2   3   23.79
47  2   3   20.70
48  2   3   24.28
49  2   3   21.16
50  3   3   28.41
51  3   3   25.96
52  3   3   26.33
53  3   3   26.71
54  3   3   29.21
55  4   3   23.13
56  4   3   30.12
57  4   3   23.61
58  4   3   27.42
59  4   3   29.74

Asses = df['Assesment'].unique()

for As in Asses:
    dfAs = df.loc[df['Assesment']==As]
    Tukey = MultiComparison(dfAs['Evaluation'],dfAs['Treatment'])
    results = Tukey.tukeyhsd(alpha=0.25)
    fig, ax = plt.subplots()
    results.plot_simultaneous(comparison_name=1, ax=ax, xlabel='Values', ylabel='Treatments')
    plt.title('Assesment ' + str(As))

Результаты представляют собой 3 отдельные цифры Результат для Оценки 1

Результат для Оценки 2

Результат для Оценки 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...