Я пытаюсь добавить вторую метку оси X в верхнюю часть графика.Нормальная ось находится в логарифмическом масштабе и отображается как 10 ^ -1, 10 ^ 0 и т. Д., Как и должно быть, но мне также нужны тики на каждые 10 ^ x.5 вдоль вершины (.1, .32, 1, 3.2, так далее).Когда я пытаюсь сделать это с помощью twiny, они выровнены совершенно неправильно, и я даже не могу понять причину.Вот мой код (и полученный сюжет):
from pylab import *
import numpy as np
dfile = "data.txt" #DATA STUFF YOU DON'T NEED
data = np.loadtxt(dfile,dtype=float)
asep = data[:,1]
par= data[:,2]
dist = 1000/par
dsep = asep*dist
ldsep = np.log10(dsep)
#RELEVANT BITS
ax1=subplot(211)
ax1.set_xlim([0,100])
plt.gca().set_xscale("log")
plt.hist(allsep,bins=[.1,.32,1,3.2,10,32,100],facecolor='red')
plt.ylabel('$N_{stars}$')
ax2 = ax1.twiny()
ax2.set_xscale("log")
newpos=[.1,.32,1,3.2,10,32,100]
newlabel=[0.1,0.32,1.0,3.2,10,32,100]
ax2.set_xticks(newpos)
ax2.set_xticklabels(newlabel)
ax2.xaxis.set_ticks_position('top')
ax2.xaxis.set_label_position('top')
ax2.set_xlim(ax1.get_xlim())
#SECOND PLOT, NOT REALLY NECESSARY
ax3=subplot(212)
ax3.set_xlim([0,100])
plt.hist(allsep,bins=[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80],facecolor='red')
plt.xlabel('Projected Separation (AU)')
plt.ylabel('$N_{stars}$')
plt.savefig('dhist.png',dpi=300)
plt.show()

Спасибо всем!