2013-03-21 4 views
0

У меня есть два представления одной и той же функции. Один показывает его как функцию напряжения, а другой - как функцию глубины (монотонная, но сложная функция). Глубина может быть выражена как функция напряжения. Я хотел бы добавить что-то вроде оси напряжения в представление глубины, но это не представляется возможным.горизонтальные линии маркера на графике линии

Как добавить вертикальные линии при приращениях напряжения, равного -0,5, -1,0, -1,5, ... на графике глубины?

+0

вы проверили [Matplotlib галерея] (http://matplotlib.org/gallery.html)? –

+0

Не могли бы вы разместить свой код, а также представительный образ того, чего бы вы хотели достичь? –

+0

Я проверил галерею. Вот ссылка, как она выглядит на данный момент, я хочу избавиться от верхнего графика и отобразить информацию о напряжении на нижнем: https://dl.dropbox.com/u/226980/stackexchange.jpg – sonium

ответ

0

Я обнаружил, что действительно возможно создать собственную вторую ось сверху. Результат выглядит следующим образом: https://dl.dropbox.com/u/226980/solved.jpg

Работает с использованием FixedLocator.

Весь код выглядит следующим образом:

f = subplot(111) 
p1 = plot(depth_samples,NtNdbulk, label = "relative concentration") 
xlabel("depth [um]") 
ylabel("N_trap/N_bulk") 

twinx() 
p2 = plot(depth_samples,Nt, color='r', label = "absolute concentration") 

p = p1 + p2 
ylabel("N_trap") 

labs = [l.get_label() for l in p] 
legend(p, labs, loc=0) 

ax2 = twiny() 
p1 = plot(depth_samples,NtNdbulk, alpha = 0) #invisible 

l = matplotlib.ticker.FixedLocator(tick_depth*1e4) # Positions of the ticks 
ax2.get_xaxis().set_major_locator(l) 
ax2.get_xaxis().set_ticklabels(ticks) # Voltages as displayed 
xlabel("DLTS voltage during pulse") 

show()