Heim  >  Artikel  >  Backend-Entwicklung  >  Drei Schritte zur Python-Datenvisualisierung

Drei Schritte zur Python-Datenvisualisierung

WBOY
WBOYnach vorne
2023-04-15 17:04:031346Durchsuche

1. Zunächst müssen wir wissen, welche Bibliotheken wir zum Zeichnen von Bildern verwenden.

matplotlib

Die grundlegendste Zeichenbibliothek in Python ist die grundlegendste Python-Visualisierungsbibliothek Visualisierung aus matplotlib und dann starten Führen Sie eine vertikale und horizontale Erweiterung durch.

Seaborn

ist eine erweiterte Visualisierungseffektbibliothek, die hauptsächlich auf die Auswahl variabler Merkmale beim Data Mining und maschinellen Lernen abzielt. Seaborn kann Kurzcodes verwenden, um Visualisierungseffektdiagramme zu zeichnen, die mehrdimensionale Daten beschreiben.

Andere Bibliotheken umfassen

Bokeh (eine Bibliothek, die für die browserseitige interaktive Visualisierung verwendet wird, um Analysten die Interaktion mit Daten zu ermöglichen); Mapbox (eine Visualisierungstool-Bibliothek mit einer stärkeren geografischen Daten-Engine) und so weiter.

Dieser Artikel verwendet hauptsächlich Matplotlib für die Fallanalyse

Schritt 1: Bestimmen Sie das Problem und wählen Sie Grafiken aus

Das Geschäft mag kompliziert sein, aber nach der Aufteilung müssen wir herausfinden, welches spezifische Problem wir durch Grafiken ausdrücken möchten. Zur Schulung des analytischen Denkens können Sie die Methoden „McKinsey-Methode“ und „Pyramidenprinzip“ erlernen.

Dies ist eine Zusammenfassung im Internet zur Auswahl des Diagrammtyps.

Drei Schritte zur Python-Datenvisualisierung

In Python können wir es in die folgenden vier grundlegenden visuellen Elemente zusammenfassen, um Grafiken anzuzeigen:

  • Punkt: zweidimensionale Streudiagrammdaten, geeignet für einfache zweidimensionale Beziehungen
  • Linie: Liniendiagramm zwei -dimensionale Daten, geeignet für Zeitreihen;
  • Spalte: zweidimensionale Balkendiagramme, geeignet für Kategoriestatistiken;
  • Es gibt Verteilung, Zusammensetzung, Vergleich, Verbindung und sich ändernde Trends zwischen den Daten usw. Beziehung. Wählen Sie entsprechend den unterschiedlichen Beziehungen die entsprechenden Grafiken zur Anzeige aus.

Schritt 2: Daten transformieren, Funktionen anwenden

Ein Großteil der Programmierarbeit in der Datenanalyse und -modellierung basiert auf der Datenvorbereitung: Laden, Bereinigen, Transformieren und Umformen. Unser Visualisierungsschritt muss auch die Daten organisieren, in das von uns benötigte Format konvertieren und dann die Visualisierungsmethode anwenden, um die Zeichnung fertigzustellen.

Im Folgenden sind einige häufig verwendete Datenkonvertierungsmethoden aufgeführt:

Merge: Merge, Concat, Combine_frist (ähnlich einer vollständigen Außenverknüpfung in der Datenbank)
  • Reshape: Reshape; axiale Rotation: Pivot (ähnlich einer Excel-Pivot-Tabelle). )
  • Deduplikation: drop_duplicates
  • Mapping: map
  • Fill-Ersetzung: fillna,replace
  • Achsenindex umbenennen: rename
  • Kategoriale Variablen in die get_dummies-Funktion der „Dummy-Variablenmatrix“ und in eine bestimmte Datenspalte konvertieren df Nehmen Sie Grenzwerte usw. Die Funktion

sucht anhand der im ersten Schritt ausgewählten Grafiken nach der entsprechenden Funktion in Python.

Schritt 3: Parametereinstellungen, auf einen Blick klar

Nachdem das Originaldiagramm gezeichnet wurde, können wir die Farbe (Farbe), den Linienstil (Linienstil), die Markierung (Hersteller) oder den Titel (Titel) anderer Diagrammdekorationselemente ändern. Achsenbeschriftung nach Bedarf (xlabel, ylabel), Achsenskalierung (set_xticks) und Legende (legend) usw. machen die Grafiken intuitiver.

Der dritte Schritt basiert auf dem zweiten Schritt, um die Grafiken klarer und klarer zu gestalten. Spezifische Parameter finden Sie in der Diagrammfunktion.

2. Grundlagen des visuellen Zeichnens

Grundlagen des Matplotlib-Zeichnens

#导入包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

Figure und Subplot

Matplotlib-Grafiken befinden sich beide in Figure (Leinwand) und Subplot erstellt Bildraum. Sie können nicht durch eine Figur zeichnen. Sie müssen add_subplot verwenden, um einen oder mehrere Unterplots zu erstellen.

figsize kann die Bildgröße angeben.

#创建画布
fig = plt.figure()
<Figure size 432x288 with 0 Axes>
#创建subplot,221表示这是2行2列表格中的第1个图像。
ax1 = fig.add_subplot(221)
#但现在更习惯使用以下方法创建画布和图像,2,2表示这是一个2*2的画布,可以放置4个图像
fig , axes = plt.subplots(2,2,sharex=True,sharey=True)
#plt.subplot的sharex和sharey参数可以指定所有的subplot使用相同的x,y轴刻度。

Drei Schritte zur Python-DatenvisualisierungVerwenden Sie die subplots_adjust-Methode von Figure, um den Abstand anzupassen.

subplots_adjust(left=None,bottom=None,right=None,
top=None,wspace=None,hspace=None)

Drei Schritte zur Python-DatenvisualisierungFarbe, Markierung und Linienstil

Die Plotfunktion von matplotlib akzeptiert einen Satz von X- und Y-Koordinaten und kann auch eine Zeichenfolgenabkürzung akzeptieren, die Farbe und Linienstil darstellt: **'g-- ', was die Farbe angibt ist grün und der Linientyp ist eine gestrichelte Linie „--“. **Es kann auch explizit über Parameter angegeben werden.

Das Liniendiagramm kann auch einige Markierungen hinzufügen, um die Position der Datenpunkte hervorzuheben. Tags können auch in der Formatzeichenfolge platziert werden, der Tag-Typ und der Linienstil müssen jedoch nach der Farbe stehen.

plt.plot(np.random.randn(30),color='g',
 linestyle='--',marker='o')
[<matplotlib.lines.Line2D at 0x8c919b0>]

Skalen, Beschriftungen und Legenden

Die Methoden xlim, xticks und xtickslabels von plt steuern den Bereich und die Tick-Position bzw. Tick-Beschriftungen des Diagramms.

Wenn die Methode ohne Parameter aufgerufen wird, wird der aktuelle Parameterwert zurückgegeben. Wenn die Methode mit Parametern aufgerufen wird, wird der Parameterwert festgelegt.

plt.plot(np.random.randn(30),color='g',
 linestyle='--',marker='o')
plt.xlim() #不带参数调用,显示当前参数;
#可将xlim替换为另外两个方法试试
(-1.4500000000000002, 30.45)

Drei Schritte zur Python-Datenvisualisierungimg

plt.plot(np.random.randn(30),color='g',
 linestyle='--',marker='o')
plt.xlim([0,15]) #横轴刻度变成0-15
(0, 15)

设置标题,轴标签,刻度以及刻度标签

fig = plt.figure();ax = fig.add_subplot(1,1,1)
ax.plot(np.random.randn(1000).cumsum())
ticks = ax.set_xticks([0,250,500,750,1000]) #设置刻度值
labels = ax.set_xticklabels(['one','two','three','four','five']) #设置刻度标签
ax.set_title('My first Plot') #设置标题
ax.set_xlabel('Stage') #设置轴标签
Text(0.5,0,'Stage')

Drei Schritte zur Python-Datenvisualisierung

添加图例

图例legend是另一种用于标识图标元素的重要工具。 可以在添加subplot的时候传入label参数。

fig = plt.figure(figsize=(12,5));ax = fig.add_subplot(111)
ax.plot(np.random.randn(1000).cumsum(),'k',label='one') #传入label参数,定义label名称
ax.plot(np.random.randn(1000).cumsum(),'k--',label='two')
ax.plot(np.random.randn(1000).cumsum(),'k.',label='three')
#图形创建完后,只需要调用legend参数将label调出来即可。
ax.legend(loc='best') 
#要求不是很严格的话,建议使用loc=‘best’参数来让它自己选择最佳位置

Drei Schritte zur Python-Datenvisualisierung

注解

除标准的图表对象之外,我们还可以自定义添加一些文字注解或者箭头。

注解可以通过text,arrow和annotate等函数进行添加。text函数可以将文本绘制在指定的x,y坐标位置,还可以进行自定义格式

plt.plot(np.random.randn(1000).cumsum())
plt.text(600,10,'test ',family='monospace',fontsize=10)
#中文注释在默认环境下并不能正常显示,需要修改配置文件,
# 使其支持中文字体。具体步骤请自行搜索。

保存图表到文件

利用plt.savefig可以将当前图表保存到文件。例如,要将图表保存为png文件,可以执行

文件类型是根据拓展名而定的。其他参数还有:

  • fname:含有文件路径的字符串,拓展名指定文件类型
  • dpi:分辨率,默认100 facecolor,edgcolor 图像的背景色,默认‘w’白色
  • format:显示设置文件格式('png','pdf','svg','ps','jpg'等)
  • bbox_inches:图表需要保留的部分。如果设置为“tight”,则将尝试剪除图像周围的空白部分
plt.savefig('./plot.jpg') #保存图像为plot名称的jpg格式图像
<Figure size 432x288 with 0 Axes>

3、Pandas中的绘图函数

Matplotlib作图

matplotlib是最基础的绘图函数,也是相对较低级的工具。 组装一张图表需要单独调用各个基础组件才行。Pandas中有许多基于matplotlib的高级绘图方法,原本需要多行代码才能搞定的图表,使用pandas只需要短短几行。

我们使用的就调用了pandas中的绘图包。

import matplotlib.pyplot as plt

线型图

Series和DataFrame都有一个用于生成各类图表的plot方法。 默认情况下,他们生成的是线型图。

s = pd.Series(np.random.randn(10).cumsum(),index=np.arange(0,100,10))
s.plot() #Series对象的索引index会传给matplotlib用作绘制x轴。
<matplotlib.axes._subplots.AxesSubplot at 0xf553128>

Drei Schritte zur Python-Datenvisualisierung

df = pd.DataFrame(np.random.randn(10,4).cumsum(0),
columns=['A','B','C','D'])
df.plot() #plot会自动为不同变量改变颜色,并添加图例
<matplotlib.axes._subplots.AxesSubplot at 0xf4f9eb8>

Drei Schritte zur Python-Datenvisualisierung

Series.plot方法的参数

  • label:用于图表的标签
  • style:风格字符串,'g--'
  • alpha:图像的填充不透明度(0-1)
  • kind:图表类型(bar,line,hist,kde等)
  • xticks:设定x轴刻度值
  • yticks:设定y轴刻度值
  • xlim,ylim:设定轴界限,[0,10]
  • grid:显示轴网格线,默认关闭
  • rot:旋转刻度标签
  • use_index:将对象的索引用作刻度标签
  • logy:在Y轴上使用对数标尺

DataFrame.plot方法的参数

DataFrame除了Series中的参数外,还有一些独有的选项。

  • subplots:将各个DataFrame列绘制到单独的subplot中
  • sharex,sharey:共享x,y轴
  • figsize:控制图像大小
  • title:图像标题
  • legend:添加图例,默认显示
  • sort_columns:以字母顺序绘制各列,默认使用当前顺序

柱状图

在生成线型图的代码中加上kind=‘bar’或者kind=‘barh’,可以生成柱状图或水平柱状图。

fig,axes = plt.subplots(2,1)
data = pd.Series(np.random.rand(10),index=list('abcdefghij'))
data.plot(kind='bar',ax=axes[0],rot=0,alpha=0.3)
data.plot(kind='barh',ax=axes[1],grid=True)
<matplotlib.axes._subplots.AxesSubplot at 0xfe39898>

Drei Schritte zur Python-Datenvisualisierung

柱状图有一个非常实用的方法:

利用value_counts图形化显示Series或者DF中各值的出现频率。

比如df.value_counts().plot(kind='bar')

Python可视化的基础语法就到这里,其他图形的绘制方法大同小异。

重点是遵循三个步骤的思路来进行思考、选择、应用。多多练习可以更加熟练。


Das obige ist der detaillierte Inhalt vonDrei Schritte zur Python-Datenvisualisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen