Рубрики
Без рубрики

Matplotlib Log Scale С использованием различных методов в Python

Различные способы реализации логарифмической шкалы Matplotlib в Python – функции semilog(), log log (); Точечные диаграммы и гистограммы в логарифмической шкале

Автор оригинала: Team Python Pool.

Matplotlib Log Scale С использованием различных методов в Python

Здравствуйте программисты, в сегодняшней статье мы узнаем о логарифмической шкале Matplotlib в Python. Логарифмическая шкала Matplotlib-это шкала, имеющая степени 10. Вы можете использовать любое основание, например 2, или значение натурального логарифма задается числом e. Использование различных оснований сузило бы или расширило расстояние между нанесенными элементами, что облегчило бы видимость. Мы можем использовать логарифмическую шкалу Matplotlib для построения осей, гистограмм, 3D-графиков и т. Д. Давайте рассмотрим различные примеры и реализации логарифмической шкалы.

Логарифмические шкалы-очень важный метод визуализации данных. Эта шкала позволяет нам наблюдать экспоненциальный рост системы в линейном масштабе. Например, случаи нового коронавируса растут в геометрической прогрессии, В таких случаях использование логарифмических шкал помогает проверить контроль над вирусом.

Изменение оси y на логарифмическую шкалу Matplotlib

from matplotlib import pyplot

# Create a subplot to show the graph
pyplot.subplot(1, 1, 1)

# Powers of 10
a = [10**i for i in range(10)]
# Plotting the graph
pyplot.plot(a,,)
# Setting a logarithmic scale for y-axis
pyplot.yscale('log')
pyplot.show()

Выход:

ось y к логарифмической шкале Matplotlib
ось y к логарифмической шкале Matplotlib

Объяснение:

Процесс построения логарифмических осей аналогичен обычному построению графика, за исключением одной строки кода, указывающей тип осей как “log”. Затем мы построим график степеней 10 против их показателей. Это линейный логарифмический график. Без логарифмической шкалы построенные данные показали бы кривую с экспоненциальным ростом. Таким образом, чтобы получить ось y в логарифмическом масштабе, нам придется передать ‘log’ в качестве аргумента pyplot.yscale(). Аналогично, вы можете применить то же самое для изменения оси x на логарифмическую шкалу с помощью pyplot.xscale(‘log’)

Логарифмическая шкала Matplotlib С использованием функций Semilogx() или Semilogy()

import pandas as pd
import matplotlib.pyplot as plt

x = [10, 100, 1000, 10000, 100000]
y = [2, 4 ,8, 16, 32]
.figure(figsize=(8, 6))
plt.scatter(x,y)
plt.plot(x,y)
plt.grid()

plt.semilogx())
))

plt.show()

Выход:

Функции Semilogx() или Semilogy()
Функции Semilogx() или Semilogy()

Объяснение:

Функция semilogx()-это еще один метод создания графика с логарифмическим масштабированием вдоль оси X. В то время как функция semilogy() создает график с логарифмическим масштабированием вдоль оси Y. Основание логарифма по умолчанию равно 10. Однако мы можем установить базу с параметрами basex и basey для функций semilogx() и semilogy () соответственно. В приведенном выше примере функция plt.semilogx() с основанием по умолчанию 10 используется для изменения оси x на логарифмическую шкалу. В то время как функция plt.semilogy() изменяет ось y на базовую 2-логарифмическую шкалу.

Matplotlib Log Scale С помощью функции log log()

import pandas as pd
import matplotlib.pyplot as plt

x = [10, 100, 1000, 10000, 100000]
y = [2, 4 ,8, 16, 32]
.figure(figsize=(8, 6))
plt.scatter(x,y)
plt.plot(x,y)
)

plt.show()

Выход:

Объяснение:

Мы также можем реализовать масштабирование журнала по осям X и Y с помощью функции loglog(). Основание логарифма для осей X и Y задается параметрами basex и basey. В приведенном выше примере и передается как href=”https://en.wikipedia.org/wiki/Parameter_(computer_programming)#:~:text=In%20computer%20programming%2C%20a%20parameter,as%20input%20to%20the%20subroutine.”>arguments к функции plt.loglog (), которая возвращает базовое 10-логарифмическое масштабирование по оси x. И основание 2 логарифмическое масштабирование вдоль оси y. href=”https://en.wikipedia.org/wiki/Parameter_(computer_programming)#:~:text=In%20computer%20programming%2C%20a%20parameter,as%20input%20to%20the%20subroutine.”>arguments к функции plt.loglog (), которая возвращает базовое 10-логарифмическое масштабирование по оси x. И основание 2 логарифмическое масштабирование вдоль оси y.

Точечная диаграмма с логарифмической шкалой Matplotlib в Python

import matplotlib.pyplot as plt
import numpy as np
f,.subplots()
ax.set_xscale('log')
ax.set_yscale('log')
ax.scatter(2**np.arange(10), 2**np.arange(10))

Выход:

график гистограммы логарифмической шкалы
график гистограммы логарифмической шкалы

Объяснение:

В приведенном выше примере оси являются первым логарифмическим масштабированием, минуя ” log ” в качестве параметра функций ser_xscale() и set_yscale (). Затем вызывается функция plt.scatter (), которая возвращает диаграмму рассеяния в логарифмическом масштабе. Поля участка огромны. Однако если метод plt.scatter() используется перед логарифмическим масштабированием осей, то точечная диаграмма выглядит нормальной.

Matplotlib log scale Гистограмма График

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

x = [2, 1, 76, 140, 286, 267, 60, 271, 5, 13, 9, 76, 77, 6, 2, 27, 22, 1, 12, 7, 
     19, 81, 11, 173, 13, 7, 16, 19, 23, 197, 167, 1].Series(x)

# histogram on linear scale
plt.subplot(211)
hist, bins,.hist(x,)

# histogram on log scale. 
# Use non-equal bin sizes, such that they look equal on log scale..logspace(np.log10(bins[0]),np.log10(bins[-1]),len(bins))
plt.subplot(212)
plt.hist(x,)
plt.xscale('log')
plt.show()

Выход:

matplotlib log scale Гистограмма График
matplotlib log scale Гистограмма График

Объяснение:

В приведенном выше примере график гистограммы один раз делается в нормальном масштабе. А также нанесен на логарифмическую шкалу Matplotlib. Для построения гистограммы в логарифмическом масштабе ячейки определяются как “логарифмические ячейки”. Кроме того, мы используем неравные размеры ячеек, чтобы они выглядели равными в логарифмическом масштабе. Ось x масштабируется логарифмически, минуя “log” в качестве аргумента функции plt.xscale ().

Вывод:

В этой статье мы обсудили различные способы перехода в логарифмическую шкалу с помощью логарифмической шкалы Matplotlib в Python. Мы видели различные функции для реализации масштабирования журнала по осям. Например, функции semilogx() или semilogy() и log (). Мы также приводили примеры использования логарифмической шкалы Matplotlib для построения точечных графиков и гистограмм. Обратитесь к этой статье в случае возникновения каких-либо вопросов, касающихся использования логарифмической шкалы Matplotlib.

Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.

Счастливого Пифонирования!