La bibliothèque de dessin la plus basique en Python est matplotlib, qui est la bibliothèque de visualisation Python la plus basique. visualisation à partir de matplotlib, puis démarrez l'expansion verticale et horizontale.
est une bibliothèque d'effets de visualisation avancée basée sur matplotlib. Elle cible principalement la sélection de fonctionnalités variables dans l'exploration de données et l'apprentissage automatique. Seaborn peut utiliser des codes courts pour dessiner des diagrammes d'effets de visualisation décrivant des données plus dimensionnelles.
Bokeh (une bibliothèque utilisée pour la visualisation interactive côté navigateur pour permettre aux analystes d'interagir avec les données) ; Mapbox (une bibliothèque d'outils de visualisation avec un moteur plus puissant pour le traitement des données géographiques) et ainsi de suite.
Cet article utilise principalement matplotlib pour l'analyse de cas
L'affaire peut être compliquée, mais après la scission, nous devons découvrir quel problème spécifique nous voulons exprimer à travers des graphiques. Pour vous former à la pensée analytique, vous pouvez apprendre les méthodes de la « Méthode McKinsey » et du « Principe de la pyramide ».
Ceci est un résumé sur Internet sur la sélection du type de graphique.
En Python, nous pouvons le résumer dans les quatre éléments visuels de base suivants pour afficher des graphiques :
#导入包 import numpy as np import pandas as pd import matplotlib.pyplot as plt
#创建画布 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轴刻度。
Utilisez la méthode subplots_adjust de Figure pour ajuster l'espacement.
subplots_adjust(left=None,bottom=None,right=None, top=None,wspace=None,hspace=None)
Couleur, marqueur et style de ligne
La fonction plot de matplotlib accepte un ensemble de coordonnées X et Y, et peut également accepter une abréviation de chaîne représentant la couleur et le style de ligne : **'g--', indiquant que la couleur est vert et le type de ligne est une ligne pointillée '--'. **Il peut également être spécifié explicitement à l'aide de paramètres. Le graphique linéaire peut également ajouter des marqueurs pour mettre en évidence l'emplacement des points de données. Les balises peuvent également être placées dans la chaîne de format, mais le type de balise et le style de ligne doivent venir après la couleur.plt.plot(np.random.randn(30),color='g', linestyle='--',marker='o')
[<matplotlib.lines.Line2D at 0x8c919b0>]
plt.plot(np.random.randn(30),color='g', linestyle='--',marker='o') plt.xlim() #不带参数调用,显示当前参数; #可将xlim替换为另外两个方法试试
(-1.4500000000000002, 30.45)
img
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')
图例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’参数来让它自己选择最佳位置
除标准的图表对象之外,我们还可以自定义添加一些文字注解或者箭头。
注解可以通过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文件,可以执行
文件类型是根据拓展名而定的。其他参数还有:
plt.savefig('./plot.jpg') #保存图像为plot名称的jpg格式图像 <Figure size 432x288 with 0 Axes>
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>
df = pd.DataFrame(np.random.randn(10,4).cumsum(0), columns=['A','B','C','D']) df.plot() #plot会自动为不同变量改变颜色,并添加图例
<matplotlib.axes._subplots.AxesSubplot at 0xf4f9eb8>
DataFrame除了Series中的参数外,还有一些独有的选项。
在生成线型图的代码中加上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>
利用value_counts图形化显示Series或者DF中各值的出现频率。
比如df.value_counts().plot(kind='bar')
Python可视化的基础语法就到这里,其他图形的绘制方法大同小异。
重点是遵循三个步骤的思路来进行思考、选择、应用。多多练习可以更加熟练。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!