目次
Matplotlib の初期探索
折线图
散点图
颜色映射
随机漫步模拟
处理CSV数据
Line Chart
散布図
カラー マッピング
ランダム ウォーク シミュレーション
CSV データの処理

Matplotlib の最初の紹介

Jun 23, 2017 am 11:08 AM
matplotlib 予備探査

Matplotlib の初期探索

例はこの本から引用しています: 『Python Programming from Introduction to Practical Practice』[US] Eric Matthes

描画に pyplot を使用する場合、一般的なインポート方法は import matplotlib.pyplot as です。 pltimport matplotlib.pyplot as plt

以下代码均在Jupyter Notebook中运行

折线图

先看一个简单的例子

import matplotlib.pyplot as plt

in_values = [1, 2 ,3, 4, 5]
squares = [1, 4, 9 ,16, 25]# 第一个参数是X轴输入,第二个参数是对应的Y轴输出;linewidth绘制线条的粗细plt.plot(in_values, squares, linewidth=4)# 标题、X轴、Y轴plt.title('Squares', fontsize=20)
plt.xlabel('Value', fontsize=12)
plt.ylabel('Square of the value', fontsize=12)# plt.tick_params(axis='both', labelsize=15)plt.show()
ログイン後にコピー

图如下,可以看到x轴太密了,甚至都有小数。

Matplotlib の最初の紹介

如果想x轴只出现我们的样本值,可以使用tick_params函数修改刻度标记的大小。把上面代码中的倒数第二行取消注释,得到下面的图像。

Matplotlib の最初の紹介

plt.tick_params(axis='both', labelsize=15),其中axis=both表示同时影响x、y轴的刻度,labelsize指定了刻度的字号,字号变大,同一长度下显示的坐标点数越少,反之亦反。由于将labelsize设置得比默认大了,故x、y轴显示的坐标点数变少。更符合这个例子。

散点图

还是上面的平方例子。这次使用散点图绘制。

in_values = [1, 2 ,3, 4, 5]
squares = [1, 4, 9 ,16, 25]# s参数为点的大小plt.scatter(in_values, squares, s=80)
plt.title('Squares', fontsize=20)
plt.xlabel('Value', fontsize=12)
plt.ylabel('Square of the value', fontsize=12)
plt.tick_params(axis='both', labelsize=15)
plt.show()
ログイン後にコピー

可以看到,只是将plt.plot换成了plt.scatter,其余的代码基本没变。

Matplotlib の最初の紹介

若输入和输出的点比较多,可使用列表推导式。同时可以指定点的颜色及点的轮廓颜色。默认点的颜色为蓝色,轮廓为黑色。

x_values = list(range(1, 100))
y_values = [x**2 for x in x_values]# c参数指定点的颜色,轮廓的颜色不进行设置(none)plt.scatter(x_values, y_values, c='red', edgecolors='none' ,s=5)# x、y轴的坐标范围,注意提供一个列表,前两个是x轴的范围,后两个是y轴的范围plt.axis([0, 110, 0, 11000])
plt.show()
ログイン後にコピー

颜色的自定义还可以使用RGB的模式,传递一个元组给参数c。元组里面包含三个[0, 1]之间的数,分别代表(R, G, B),数字越靠近0颜色越淡,越靠近1颜色越深。比如c=(0, 0 , 0.6)表示的是一种浅蓝色。

依然是平方的图,人懒就不写标题了。

Matplotlib の最初の紹介

颜色映射

颜色映射通常是一系列颜色的渐变。在可视化中,颜色映射可反应数据的规律,比如颜色浅的值比较小,颜色深的值比较大。

看一个很简单的例子,以y轴坐标值的大小映射。

x_values = list(range(1, 100))
y_values = [x**2 for x in x_values]# 颜色映射,按照y轴的值从浅到深,颜色采用蓝色plt.scatter(x_values, y_values, c=x_values, cmap=plt.cm.Blues, edgecolors='none' ,s=5)
plt.axis([0, 110, 0, 11000])# 取代show方法,保存图片到文件所在目录,bbox_inches='tight'可裁去多余的白边plt.savefig('squares_plot.png', bbox_inches='tight')
ログイン後にコピー

可以看到,y值小的点,颜色很浅,几乎看不到了;随着y值则增大,颜色越来越深。

Matplotlib の最初の紹介

随机漫步模拟

先写一个随机漫步的类,目的是随机选择前进的方向

from random import choicedef get_step():"""    获得移动的步长    """# 分别代表正半轴和负半轴direction = choice([1, -1])# 随机选择一个距离distance = choice([0, 1, 2, 3, 4])
    step = direction * distancereturn stepclass RandomWalk:"""    一个生成随机漫步数据的类    """# 默认漫步5000步def __init__(self, num_points=5000):self.num_points = num_pointsself.x_values = [0]self.y_values = [0]def fill_walk(self):"""        计算随机漫步包含的所有点        """while len(self.x_values) < self.num_points:
            x_step = get_step()
            y_step = get_step()# 没有位移,跳过不取if x_step == 0 and y_step == 0:continue# 计算下一个点的x和y, 第一次为都0,以前的位置 + 刚才的位移 = 现在的位置next_x = self.x_values[-1] + x_step
            next_y = self.y_values[-1] + y_stepself.x_values.append(next_x)self.y_values.append(next_y)
ログイン後にコピー

开始绘制

import matplotlib.pyplot as plt


rw = RandomWalk()
rw.fill_walk()# figure的调用在plot或者scatter之前# plt.figure(dpi=300, figsize=(10, 6))# 这个列表包含了各点的漫步顺序,第一个元素将是漫步的起点,最后一个元素是漫步的终点point_numbers = list(range(rw.num_points))# 使用颜色映射绘制颜色深浅不同的点,浅色的是先漫步的,深色是后漫步的,因此可以反应漫步轨迹plt.scatter(rw.x_values, rw.y_values, c=point_numbers, cmap=plt.cm.Blues, s=1)# 突出起点plt.scatter(0, 0, c=&#39;green&#39;, edgecolors=&#39;none&#39;, s=50)# 突出终点plt.scatter(rw.x_values[-1], rw.y_values[-1], c=&#39;red&#39;, s=50)# 隐藏坐标轴plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)# 指定分辨率和图像大小,单位是英寸plt.show()
ログイン後にコピー

生成的图片,密密麻麻的点。远远看去还挺好看。绿色的是漫步起点,红色的是漫步的终点。

Matplotlib の最初の紹介

但是图片有点不清晰,把rw.fill_walk()的下面一行注释取消。通常在绘图前调用。

plt.figure(dpi=300, figsize=(10, 6))dpi=300即是300像素/英寸,这个适当调高可获得清晰的图片。figsize=(10, 6)传入的参数是元组,表示绘图窗口的尺寸,也就是图片的尺寸了,单位英寸。

高清大图,爽不爽?

Matplotlib の最初の紹介

处理CSV数据

我们也许需要分析别人提供的数据。一般是json和csv两种格式的文件。这里有个天气的数据sitka_weather_2014.csv

以下のコードはすべて Jupyter Notebook で実行されています

Line Chart

まずは簡単な例を見てみましょう
import csv

filename = &#39;F:/Jupyter Notebook/matplotlib_pygal_csv_json/sitka_weather_2014.csv&#39;with open(filename) as f:
    reader = csv.reader(f)# 只调用了一次next,得到第一行表头header_row = next(reader)for index, column_header in enumerate(header_row):print(index, column_header)
ログイン後にコピー

以下のような図がわかります。 X 軸が密すぎて、小数点も含まれていることがわかります。

Matplotlib の最初の紹介

サンプル値のみをx 軸では、tick_params 関数を使用して目盛りのサイズを変更できます。上記のコードの最後から 2 行目のコメントを解除すると、以下の画像が表示されます。

Matplotlib の最初の紹介
plt.tick_params(axis='both', labelsize=15)axis=both は、スケールが x 軸と y 軸に同時に影響することを意味します。labelsize はスケールのフォント サイズを指定します。フォント サイズが大きくなり、長さが同じになると、下に表示される座標点が減ります。その逆も同様です。 labelsize がデフォルトより大きく設定されているため、x 軸と y 軸に表示される座標点の数が少なくなります。この例にさらに沿ったものになります。 🎜

散布図

🎜 引き続き上記の正方形の例です。今回は散布図を使用してプロットしました。 🎜🎜
0 AKST
1 Max TemperatureF
2 Mean TemperatureF
3 Min TemperatureF
4 Max Dew PointF
5 MeanDew PointF
6 Min DewpointF
7 Max Humidity
8  Mean Humidity
9  Min Humidity
...
ログイン後にコピー
🎜🎜 ご覧のとおり、plt.plotplt.scatter に置き換えただけで、コードの残りの部分は基本的に変更されていません。 🎜🎜Matplotlib の最初の紹介🎜🎜入出力点が多い場合はリストを使用できます派生モード。同時にポイントの色とポイントの輪郭の色を指定できます。 🎜デフォルトのポイントの色は青、輪郭は黒です。 🎜🎜🎜
import csvimport matplotlib.pyplot as pltfrom datetime import datetime

filename = &#39;F:/Jupyter Notebook/matplotlib_pygal_csv_json/sitka_weather_2014.csv&#39;with open(filename) as f:
    reader = csv.reader(f)# 只调用了一次next,得到第一行表头header_row = next(reader)# 第一列是最高气温,由于上面next读取过一行了,这里实际从第二行开始,也是数据开始的那行# reader只能读取一次,所以如下写法dates为空#     highs = [int(row[1]) for row in reader]#     dates= [row[0] for row in reader]dates, highs, lows = [], [], []for row in reader:# 捕获异常,防止出现数据为空的情况try:
            date = datetime.strptime(row[0], &#39;%Y-%m-%d&#39;)# 第1列最高气温,读取到是字符串,转为inthigh = int(row[1])# 第3列最低气温low = int(row[3])except ValueError:print(date, &#39;missing data&#39;)else:
            dates.append(date)
            highs.append(high)
            lows.append(low)# figure在plot之前调用fig = plt.figure(dpi=300, figsize=(10, 6))# 最高气温的折线图plt.plot(dates, highs, c=&#39;red&#39;)# 最低气温的折线图plt.plot(dates, lows, c=&#39;blue&#39;)# 在两个y值之间填充颜色,facecolor为填充的颜色,alpha参数可指定颜色透明度,0.1表示颜色很浅接近透明plt.fill_between(dates, highs, lows, facecolor=&#39;blue&#39;, alpha=0.1)
plt.title(&#39;Daily high and low temperatures - 2014&#39;, fontsize=20)
plt.xlabel(&#39;&#39;, fontsize=16)
plt.ylabel(&#39;Temperature(F)&#39;, fontsize=16)# x轴的日期调整为斜着显示fig.autofmt_xdate()
plt.tick_params(axis=&#39;both&#39;,labelsize=15)
plt.show()
ログイン後にコピー
🎜🎜 カラーのカスタマイズでは、RGB モードを使用してパラメータ c にタプルを渡すこともできます。タプルには [0, 1] の間の 3 つの数値が含まれており、それぞれ (R、G、B) を表します。数値が 0 に近づくほど色は明るくなり、数値が 1 に近づくほど色は暗くなります。たとえば、c=(0, 0, 0.6) は水色を表します。 🎜🎜まだ正方形の写真なので、タイトルを書くのがめんどくさいです。 🎜🎜Matplotlib の最初の紹介🎜

カラー マッピング

🎜 カラー マッピングは通常、色のグラデーション。視覚化では、カラー マッピングはデータのパターンを反映することができます。たとえば、明るい色は小さな値を持ち、暗い色は大きな値を持ちます。 🎜🎜Y 軸座標値のサイズに基づいてマッピングする非常に単純な例を見てください。 🎜🎜
# 下面这句报错time data &#39;2017/6/23&#39; does not match format &#39;%Y-%m-%d&#39;print(datetime.strptime(&#39;2017/6/22&#39;, &#39;%Y-%m-%d&#39;)) 
print(datetime.strptime(&#39;2017-6-22&#39;, &#39;%Y-%m-%d&#39;))
ログイン後にコピー
ログイン後にコピー
🎜🎜 y 値が小さい点の色は非常に明るく、y 値が大きくなるにつれて色がどんどん暗くなっていることがわかります。 🎜🎜Matplotlib の最初の紹介🎜

ランダム ウォーク シミュレーション

🎜最初に 1 つ作成しますランダム ウォーク クラスの目的は、進行方向 🎜🎜rrreee🎜🎜 をランダムに選択し、🎜🎜rrreee🎜🎜 によって生成された点が密集した絵を描き始めることです。遠くから見るとかなり良く見えます。緑色が散策の始点、赤色が散策の終点です。 🎜🎜Matplotlib の最初の紹介🎜🎜ただし、画像が少し不鮮明なので、rw と入力してください.fill_walk 以下の行 () のコメントを解除します。通常、描画前に呼び出されます。 🎜🎜plt.figure(dpi=300, figsize=(10, 6))dpi=300 は 300 ピクセル/インチです。これは、鮮明さを得るために適切に増やすことができます。の写真。 figsize=(10, 6)渡されるパラメータはタプルで、描画ウィンドウのサイズ (ピクチャのサイズ) をインチ単位で示します。 🎜🎜高解像度の写真、気に入りましたか? 🎜🎜Matplotlib の最初の紹介🎜

CSV データの処理

🎜必要な場合があります他者から提供されたデータを分析します。通常、これらは json と csv の 2 つの形式のファイルです。こちらは気象データ sitka_weather_2014.csv で、2014 年の米国シトカの気象データです。ここではcsvファイルの処理にMatplotlibを使用し、jsonファイルの処理はpygalに配置しています。 🎜🎜データ sitka_weather_2014.csv をダウンロードします🎜🎜 CSV ファイルの最初の行は通常テーブルのヘッダーで、実際のデータは 2 行目から始まります。まず、テーブルヘッダーにどのようなデータが含まれているかを見てみましょう。 🎜🎜rrreee🎜🎜次を印刷してください 🎜rrreee🎜 最高気温と最低気温に興味があるので、🎜列 1 と列 3🎜 のデータのみを取得する必要があります。さらに、日付データは列 1 にあります。 🎜🎜次のステップは難しくありません。 2 行目から、最高気温を最高値リストに、最低気温を最低値リストに、日付を日付リストに入れて、X 軸に日付を表​​示し、datetime モジュールを導入します。 🎜🎜りー🎜

Matplotlib の最初の紹介

看以看出,7月到9月都很热,但是5月出现过非常高的气温!

上面的代码有一行date = datetime.strptime(row[0], &#39;%Y-%m-%d&#39;)。注意%Y-%m-%d要和row[0]字符串的格式一致。举个例子

# 下面这句报错time data &#39;2017/6/23&#39; does not match format &#39;%Y-%m-%d&#39;print(datetime.strptime(&#39;2017/6/22&#39;, &#39;%Y-%m-%d&#39;)) 
print(datetime.strptime(&#39;2017-6-22&#39;, &#39;%Y-%m-%d&#39;))
ログイン後にコピー
ログイン後にコピー

%Y指的是四位的年份, %y是两位年份,%m是数字表示的月份,%d数字表示的月份中的一天。


by @sunhaiyu

2017.6.22

以上がMatplotlib の最初の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

pycharm に Matplotlib をインストールする方法 pycharm に Matplotlib をインストールする方法 Dec 18, 2023 pm 04:32 PM

インストール手順: 1. PyCharm 統合開発環境を開きます; 2. [ファイル] メニューに移動し、[設定] を選択します; 3. [設定] ダイアログ ボックスで、[プロジェクト: <your_project_name>] の下の [Python インタプリタ] を選択します。 ; 4. 右上隅のプラスボタン「+」をクリックし、ポップアップダイアログボックスで「matplotlib」を検索します; 5. 「matplotlib」を選択してインストールします。

Python と Matplotlib を使用して 3 次元折れ線グラフを作成する方法 Python と Matplotlib を使用して 3 次元折れ線グラフを作成する方法 Apr 22, 2023 pm 01:19 PM

1.0 はじめに 3 次元画像技術は、世界で最も先進的なコンピュータ ディスプレイ技術の 1 つです。通常のコンピュータでは、プラグインをインストールするだけで、Web ブラウザで 3 次元製品を表示できます。製品の組み合わせプロセスを動的に表示でき、特にリモート閲覧に適しています。 3 次元画像は視覚的にはっきりと色鮮やかで、視覚的なインパクトが強く、視聴者はそのシーンに長時間留まり、深い印象を残すことができます。 3次元の絵は人々にリアルで生きているような感覚を与え、キャラクターはすぐに見られるようになり、没入感があり、芸術的鑑賞価値が高くなります。 2.0 3 次元描画の方法と種類. まず、Matplotlib ライブラリをインストールする必要があります。pip: pipinstallmatplotlib を使用できます。matplotl がインストールされていることが前提です。

matplotlib のカラーマップの詳細 matplotlib のカラーマップの詳細 Jan 09, 2024 pm 03:51 PM

matplotlib カラー テーブルの詳細については、特定のコード サンプルが必要です 1. はじめに matplotlib は強力な Python 描画ライブラリであり、さまざまな種類のチャートの作成に使用できる豊富な描画関数とツールのセットを提供します。カラーマップ (カラーマップ) は matplotlib の重要な概念であり、チャートの配色を決定します。 matplotlib カラー テーブルを詳しく学ぶことは、matplotlib の描画機能をよりよく習得し、描画をより便利にするのに役立ちます。

Python で Matplotlib 画像にラベルを追加する方法 Python で Matplotlib 画像にラベルを追加する方法 May 12, 2023 pm 12:52 PM

1. テキストラベルの追加 plt.text() は、描画処理中に画像上の指定された座標位置にテキストを追加するために使用されます。使用する必要があるのは plt.text() メソッドです。主なパラメータは 3 つあります: plt.text(x,y,s) ここで、x と y は入力ポイントの x 軸と y 軸の座標を表します。 s は文字列を表します。ここでの座標は、xticks ラベルと yticks ラベルが設定されている場合、ラベルを参照するのではなく、描画時の x 軸と軸の元の値を参照することに注意してください。パラメータが多いので一つ一つ説明は省略しますが、コードを基に使い方を覚えてください。 ha='center' は垂直方向の配置が中央揃えであることを意味し、fontsize=30 はフォント サイズが 3 であることを意味します

Java クローラーの入門: その基本概念と応用方法を理解する Java クローラーの入門: その基本概念と応用方法を理解する Jan 10, 2024 pm 07:42 PM

Java クローラーに関する予備調査: その基本的な概念と使用法を理解するには、具体的なコード例が必要です インターネットの急速な発展に伴い、企業や個人にとって大量のデータの取得と処理は不可欠なタスクとなっています。クローラー(WebScraping)は自動データ取得手段として、インターネット上のデータを迅速に収集できるだけでなく、大量のデータを分析・処理することができます。クローラーは、多くのデータ マイニングおよび情報検索プロジェクトにおいて非常に重要なツールとなっています。この記事では、Java クローラーの基本的な概要を紹介します。

matplotlibのインストール方法 matplotlibのインストール方法 Dec 20, 2023 pm 05:54 PM

インストール チュートリアル: 1. コマンド ライン ウィンドウを開き、Python と pip がインストールされていることを確認します。 2. 「pip install matplotlib」コマンドを入力して matplotlib をインストールします。 3. インストールが完了したら、インポートして matplotlib が成功したかどうかを確認します。 plt コードとしての matplotlib.pyplot. インストールでエラーが報告されなければ、matplotlib は正常にインストールされています。

matplotlib で中国語を表示するにはどのような方法がありますか? matplotlib で中国語を表示するにはどのような方法がありますか? Nov 22, 2023 pm 05:34 PM

中国語を表示する方法には、中国語フォントのインストール、フォント パスの設定、中国語文字の使用などが含まれます。詳細な紹介: 1. 中国語フォントのインストール: まず、中国語の文字をサポートするフォント ファイルをインストールする必要があります。一般的に使用される中国語フォントには、SimHei、SimSun、Microsoft YaHei などが含まれます; 2. フォント パスの設定: コード内でフォント ファイルのパスを指定する必要があります; 3. 中国語文字の使用: コード内では中国語のみを使用します文字を直接。

matplotlib カラーテーブルの解読: 色の背後にあるストーリーを明らかにする matplotlib カラーテーブルの解読: 色の背後にあるストーリーを明らかにする Jan 09, 2024 am 11:38 AM

matplotlib カラー テーブルの詳細な説明: 色の背後にある秘密を明らかにする はじめに: Python で最も一般的に使用されるデータ視覚化ツールの 1 つである matplotlib には、強力な描画機能と豊富なカラー テーブルがあります。この記事では、matplotlib のカラー テーブルを紹介し、色の背後にある秘密を探ります。 matplotlib で一般的に使用されるカラー テーブルを詳しく調べ、具体的なコード例を示します。 1. Matplotlib のカラー テーブルは、matplotlib の色を表します。

See all articles