Публичный номер: наука о данных Python
Автор: Брат взлетай
Как мы все знаем, Matplotlib — это библиотека визуализации для Python, которая очень мощная и может рисовать различные графики. Некоторые распространенные способы использования совместно использовали шпаргалку, официально выпущенную Matplotlib не так давно:Официальная шпаргалка по Matplotlib открыта, а вспомогательный код визуализации упакован!
но! Сегодня мы не пойдем привычным путем, а поделимся с вами несколькими ворами.
1. Span Selector
Span Selector
даMatplotlib
виджет мыши в ,widgets
— это объект Python, используемый для некоторых интерактивных функций.Span Selector
Максимальные и минимальные значения выделенной области можно легко просмотреть, сделав выделение кадра мышью.
Ниже приведен код, сначала создающий базовую линейную диаграмму в качестве примера. Затем мы звонимSpanSelector
метод и использовать его для выбора области, а затем отображать максимальное и минимальное значения в этой области.
import matplotlib.pyplot as plt
from matplotlib.widgets import SpanSelector
def onselect(xmin, xmax):
print(xmin, xmax)
return xmin, xmax
fig, ax = plt.subplots()
ax.plot([1,2,3,4,5,6,7], [10, 50, 100, 23,15,28,45])
span = SpanSelector(ax, onselect, 'horizontal', useblit=True, rectprops=dict(alpha=0.5, facecolor='red'))
plt.show()
Ниже приводится конкретная операция.
2. Broken Barh
Broken
Горизонтальная гистограмма — это прерывистый график с промежутками, который можно использовать, когда значения данных сильно различаются, например, набор данных, содержащий экстремальные диапазоны температур. В этом случае хорошо подходят горизонтальные гистограммы Broken, поскольку они могут отображать как максимальные, так и минимальные диапазоны.
модуль питонаmatplotlib.broken_barh()
Горизонтальная гистограмма для построения Broken.
import matplotlib.pyplot as plt
#Defining the x and y ranges
xranges = [(5,5), (20,5),(20,7)]
yrange = (2,1)
#Plotting the broken bar chart
plt.broken_barh(xranges, yrange, facecolors='green')
xranges = [(6,2), (17,5),(50,2)]
yrange = (15,1)
plt.broken_barh(xranges, yrange, facecolors='orange')
xranges = [(5,2), (28,5),(40,2)]
yrange = (30,1)
plt.broken_barh(xranges, yrange, facecolors='red')
plt.xlabel('Sales')
plt.ylabel('Days of the Month')
plt.show()
3. Table Demo
Matplotlib
Табличная функция также может отображать таблицу на рисунке. Это особенно удобно, когда мы хотим быстро увидеть значения в таблице в виде гистограммы. Таблицы можно размещать вверху, внизу или сбоку диаграммы.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(5, 8)*.7
plt.plot(x.mean(axis=0), '-o', label='average per column')
plt.xticks([])
plt.table(cellText=[['%1.2f' % xxx for xxx in xx] for xx in x],cellColours=plt.cm.GnBu(x),loc='bottom')
plt.show()
4. Watermark Images
Иногда нам кажется, что фон визуализации слишком однообразен, и мы хотим добавить немного интереса, например, наложение изображений, связанных с данными, в качестве водяных знаков на визуализацию. Давайте возьмем императора НБА Джеймса в качестве примера, чтобы проверить воду, и, наконец, покажем данные императора Чжаня, а фоном является сам император Чжан.
Сначала импортируйте наборы данных, изображения и необходимые библиотеки, которые будут использоваться.pandas
.
import numpy as np
import matplotlib.image as image
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('income.csv')
im = image.imread('Lebron_James.jpeg') # Image
использоватьpandas
Отфильтруйте данные, которые состоят только из Леброна.
lebron_james = df[df['Name']=='LeBron James']
Затем сделайте это так, используяfigimage
Добавление водяного знака — это нормально.
fig, ax = plt.subplots()
ax.grid()
ax.plot('Year','earnings ($ million)',data=lebron_james)
ax.set_title("LeBron James earnings in US$(millions)")
fig.figimage(im, 60, 40,cmap='ocean', alpha=.2)
plt.show()
5. XKCD Plots
Следующая операция более интересна (более кокетлива).
если ты хочешьMatplotlib
Чтобы добавить изюминку в график, можно простоxkcd()
существуетpyplot
Метод вызывается для объекта, как показано ниже.
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('https://raw.githubusercontent.com/parulnith/Website-articles-datasets/master/India%20GDP%20Growth%20Rate%20.csv', parse_dates=['Year'])
df['Year'] = df['Year'].apply(lambda x: pd.Timestamp(x).strftime('%Y'))
#calling xkcd() method
plt.xkcd(scale=5, length=400)
df.plot(x='Year',y='GDP Growth (%)',kind='bar')
plt.ylabel('GDP Growth (%)')
plt.xticks(rotation=-20)
plt.figure(figsize=(10,8))
plt.show()
Ссылка на статью:
к data science.com/advanced-reviews…
Сначала поделитесь этим, если вы найдете это полезным, пожалуйста, поделитесь и лайкните больше.
Приглашаю всех обратить внимание на мой оригинальный публичный аккаунт WeChat.PythonНаука о данных, сосредоточив внимание на написании алгоритмов данных на основе Python, машинном обучении и глубоком изучении сложных галантерейных товаров.