1. まず第一に、絵を描くためにどのライブラリを使用するかを知る必要があります?
matplotlib
Python の最も基本的な描画ライブラリは matplotlib であり、これは最も基本的な Python です。視覚化ライブラリ: 一般に、matplotlib から Python データ視覚化を開始し、その後、垂直方向と水平方向に拡張し始めました。
Seaborn
は、matplotlib に基づいた高度な視覚化効果ライブラリです。主にデータ マイニングと機械学習における変数特徴選択をターゲットとしています。Seaborn は、短いコードを使用してより多くの描画と記述が可能です。 。
その他のライブラリには、
Bokeh (アナリストとデータ間の対話を実現するブラウザ側の対話型視覚化に使用されるライブラリ)、Mapbox (より強力な視覚化ツール ライブラリのための地理データ処理エンジン) などが含まれます。の上。
この記事では主にケース分析に matplotlib を使用します
ステップ 1: 問題を特定し、グラフィックスを選択する
ビジネスは複雑かもしれませんが、分割した後、グラフィックを通して表現したい具体的な問題は何ですか?分析的思考を鍛えるには「マッキンゼーメソッド」や「ピラミッド原則」のメソッドを学ぶことができます。
これは、グラフの種類の選択に関するインターネット上のまとめです。
Python では、グラフィックスを表示するために、次の 4 つの基本的な視覚要素にまとめることができます。
- ポイント: 散布図の 2 次元データ、単純な 2 次元の関係に適しています;
- 線: 折れ線グラフの 2 次元データ、時系列に適しています;
- 列: 棒グラフの 2 次元データ、カテゴリ統計に適しています。 # #カラー: ヒートマップは 3 次元の表示に適しています;
- マージ: merge、concat、combine_frist (データベースの完全外部結合に似ています)
- Reshape : 形状変更; 軸方向の回転: ピボット (Excel のピボット テーブルに似ています)
- 重複排除:drop_duplicates
- マッピング:map
- 塗りつぶし置換:fillna,replace
- 軸インデックスの名前を変更: rename
#导入包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
Figure と Subplotmatplotlib のグラフィックスは両方とも Figure (キャンバス) にあります。 、およびサブプロット 画像空間を作成します。 Figure を通して描画することはできません。1 つ以上のサブプロットを作成するには、add_subplot を使用する必要があります。 figsize は画像サイズを指定できます。 #创建画布 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轴刻度。
subplots_adjust(left=None,bottom=None,right=None, top=None,wspace=None,hspace=None)
plt.plot(np.random.randn(30),color='g', linestyle='--',marker='o')
[<matplotlib.lines.Line2D at 0x8c919b0>]スケール、ラベル、凡例plt の xlim、xticks、xtickslabels メソッドは、グラフの範囲、スケール位置、目盛ラベルをそれぞれ制御します。 メソッドがパラメーターなしで呼び出された場合は、現在のパラメーター値が返され、メソッドがパラメーター付きで呼び出された場合は、パラメーター値が設定されます。
plt.plot(np.random.randn(30),color='g', linestyle='--',marker='o') plt.xlim() #不带参数调用,显示当前参数; #可将xlim替换为另外两个方法试试rree
(-1.4500000000000002, 30.45)rree
设置标题,轴标签,刻度以及刻度标签
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文件,可以执行
文件类型是根据拓展名而定的。其他参数还有:
- 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>
df = pd.DataFrame(np.random.randn(10,4).cumsum(0), columns=['A','B','C','D']) df.plot() #plot会自动为不同变量改变颜色,并添加图例
<matplotlib.axes._subplots.AxesSubplot at 0xf4f9eb8>
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>
柱状图有一个非常实用的方法:
利用value_counts图形化显示Series或者DF中各值的出现频率。
比如df.value_counts().plot(kind='bar')
Python可视化的基础语法就到这里,其他图形的绘制方法大同小异。
重点是遵循三个步骤的思路来进行思考、选择、应用。多多练习可以更加熟练。
以上がPython データ視覚化の 3 つのステップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、バージョン3.10で導入されたPythonの新しい「マッチ」ステートメントについて説明します。これは、他の言語のスイッチステートメントに相当するものです。コードの読みやすさを向上させ、従来のif-elif-elよりもパフォーマンスの利点を提供します

Python 3.11の例外グループは、複数の例外を同時に処理することで、同時シナリオと複雑な操作でエラー管理を改善します。

Pythonの関数注釈は、タイプチェック、ドキュメント、およびIDEサポートの関数にメタデータを追加します。それらはコードの読みやすさ、メンテナンスを強化し、API開発、データサイエンス、ライブラリの作成において重要です。

この記事では、Pythonの単体テスト、その利点、およびそれらを効果的に書く方法について説明します。テスト用のUnittestやPytestなどのツールを強調しています。

記事では、Pythonのアクセス仕様について説明します。Pythonは、厳格な執行ではなく、クラスメンバーの可視性を示すために命名規則を使用します。

記事では、Pythonの\ _ \ _ init \ _ \ _()メソッドと、オブジェクト属性の初期化における自己の役割について説明します。 \ _ \ _ init \ _ \ _()に対するその他のクラス方法と継承の影響についてもカバーされています。

この記事では、@ClassMethod、@StaticMethod、およびPythonのインスタンスメソッドの違いについて説明し、そのプロパティ、ユースケース、および利点を詳述します。必要な機能とDAに基づいて適切な方法タイプを選択する方法を説明します

inpython、youappendelementStoalistusingtheappend()method.1)useappend()forsingleelements:my_list.append(4).2)useextend()or = formultipleElements:my_list.extend(another_list)ormy_list = [4,5,6] .3)forspecificpositions:my_list.insert(1,5).beaware


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

メモ帳++7.3.1
使いやすく無料のコードエディター

ホットトピック









