Создание нового массива, имеющего логарифмические значения элементов в другом массиве в Python - PullRequest
0 голосов
/ 03 марта 2011

Эй ... У меня возникла небольшая проблема с моим кодом на Python ... У меня есть набор значений для каждой частоты и спектра мощности.Мне нужно построить график зависимости частоты в / с от мощности в логарифмическом масштабеЯ пытался сохранить логарифмические значения частоты и спектра мощности в 2 других переменных, а затем построить их. Любая идея, как это можно сделать?

Ответы [ 2 ]

5 голосов
/ 03 марта 2011

Предполагая, что у вас есть список значений, вы могли бы использовать простое понимание списка:

frequencies = [1, 2, 3, 4, 5]
import math
logOfFrequencies = [ math.log(x) for x in frequencies ]

или

logOfFrequencies = map(math.log, frequencies)

Если у вас есть массив значений, потому что вы 'Используя Matplotlib / Pylab для создания своих графиков, вы можете вместо этого сделать:

import numpy
frequencies = numpy.arange(1, 5)
logOfFrequencies = numpy.log(frequencies)
3 голосов
/ 03 марта 2011

Если вас интересует только построение данных в логарифмическом масштабе, рассмотрите методы matplotlib, loglog и semilogx и semilogy:

http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.loglog

http://matplotlib.sourceforge.net/plot_directive/mpl_examples/pylab_examples/log_demo.py

Это позволит вам избежать расчета журнала для различных массивов и точно настроить отображение различных количеств.

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