автоматическая легенда в сюжете питона и ограничение осей - PullRequest
0 голосов
/ 08 ноября 2019

Я строю результаты, используя следующий код.

Есть ли способ добавить легенду автоматически? Я имею в виду, если z=1,9 график автоматически напишет легенду каждой линии, что этот цвет для z=1, а тот для z=2

и еще один, как увеличить сечения каждой оси? не их пределы, только их разделы. здесь я просто вижу 0, 0.5, 1, но хочу иметь 0, 0.1, 0.2, 0.3,...

fig, (ax1, ax2, ax3) = plt.subplots(3)
while True:
        inp  = float(input("PLEASE ENTER VALUE:"))
        if inp==0:
            print('***')
            print('0 Is not acceptable')
            print('***')
        else:
            for mg in np.arange(100,3000,500):
                for z in np.arange(0,1):
                    for test in range(0,1):
                        Ju_list=[]
                        ET_list=[]
                        ETmgncmb_list=[]
                        ETmgcmb_list=[]
                        nu_list=[]

                        for xx in range(1,819):
                            Ju = dfimppara.iloc[xx, 1]
                            Jl = dfimppara.iloc[xx, 2]
                            lim = Ju - Jl
                            if inp<0:
                                if lim > 1:
                                    pass
                                else:
                                    Ju_list.append(dfimppara.iloc[xx, 1])
                                    ET_list.append(ET(xx, 0,0,100))
                                    ETmgncmb_list.append(ET(xx, 0,0,mg))
                                    ETmgcmb_list.append(ET(xx, 0,1,mg))

                                    ax1.plot(Ju_list, ET_list)
                                    ax2.plot(Ju_list, ETmgncmb_list)
                                    ax3.plot(Ju_list, ETmgcmb_list)



                            else: 
                                ... some lines of code

            break

ax1.title.set_text('T_ex vs. J'  )
ax2.title.set_text('T_ex vs. J'  )
ax3.title.set_text('T_ex vs. J ')
plt.show()

1 Ответ

0 голосов
/ 08 ноября 2019

Хорошо, так что вы можете сами устанавливать места своих отметок, просто набрав:

plt.sca(axes[0, 0])  #here you specify for what subplot you want to change the xticks
plt.xticks(np.arange(0,1.1,0.1))

Более подробную информацию по этой теме вы можете найти здесь

если вы хотите иметь легенду, вы можете просто добавить метку к своим графикам, а затем вызвать легенду с ее положением:

ax1.plot(Ju_list, ET_list, label='ET_list')
ax2.plot(Ju_list, ETmgncmb_list, label='ETmgncmb_list')
ax3.plot(Ju_list, ETmgcmb_list, label='ETmgcmb_list')

ax1.legend(loc='best')
ax2.legend(loc='best')
ax3.legend(loc='best')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...