Python逆引き大全|初心者から実務まで使えるデータビジュアライゼーションの実践テクニック データビジュアライゼーション編!

逆引き

データビジュアライゼーションは、データの洞察を深め、伝える力を高めるための不可欠な手法です。本記事では、Pythonを使ったデータビジュアライゼーションの基本から応用まで、初心者から実務に役立つ技術を幅広く紹介します。


インタラクティブなグラフ作成(Plotly)

Plotlyを使用すると、ズームやパンなどの操作が可能なインタラクティブなグラフを簡単に作成できます。

import plotly.express as px

df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
fig.show()

地図データの可視化

地図データを可視化することで、地理的なデータの洞察を得ることができます。

import plotly.express as px

df = px.data.gapminder()
fig = px.scatter_geo(df, locations="iso_alpha", color="continent",
                     hover_name="country", size="pop",
                     animation_frame="year", projection="natural earth")
fig.show()

ネットワークグラフの描画

ネットワークの構造を可視化するために、ノードとエッジを効果的に表示するグラフが役立ちます。

import networkx as nx
import matplotlib.pyplot as plt

G = nx.erdos_renyi_graph(50, 0.1)
pos = nx.spring_layout(G)
nx.draw(G, pos, with_labels=True, node_color="skyblue", edge_color="gray")
plt.show()

データダッシュボードの作成

データダッシュボードを作成することで、リアルタイムデータの視覚化や分析が可能です。

import dash
from dash import dcc, html
from dash.dependencies import Input, Output

app = dash.Dash(__name__)

app.layout = html.Div([
    dcc.Graph(id='example-graph'),
])

if __name__ == '__main__':
    app.run_server(debug=True)

3Dグラフの作成

3Dグラフは、複雑なデータ構造を視覚的に表現する際に便利です。

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
X, Y = np.meshgrid(np.linspace(-5, 5, 100), np.linspace(-5, 5, 100))
Z = np.sin(np.sqrt(X**2 + Y**2))
ax.plot_surface(X, Y, Z, cmap='viridis')
plt.show()

動的グラフの生成

時間変化を視覚化する動的グラフは、データストーリーテリングに非常に効果的です。

import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np

fig, ax = plt.subplots()
x = np.linspace(0, 2*np.pi, 100)
line, = ax.plot(x, np.sin(x))

def update(frame):
    line.set_ydata(np.sin(x + frame/10.0))
    return line,

ani = animation.FuncAnimation(fig, update, frames=100, interval=50)
plt.show()

データストーリーテリング

データをもとに物語を紡ぐことは、データサイエンスの強力な手法です。

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

df = sns.load_dataset("flights")
sns.lineplot(data=df, x="year", y="passengers", hue="month")
plt.show()

マトリックスプロットの作成

マトリックスプロットを用いると、複数の変数間の関係性を一目で把握できます。

import seaborn as sns
import matplotlib.pyplot as plt

iris = sns.load_dataset('iris')
sns.pairplot(iris, hue='species')
plt.show()

データヒートマップの生成

ヒートマップは、データの密度や強度を色で表現する効果的な方法です。

import seaborn as sns
import matplotlib.pyplot as plt

data = sns.load_dataset('flights').pivot("month", "year", "passengers")
sns.heatmap(data, annot=True, fmt="d", cmap="YlGnBu")
plt.show()

サマリービジュアライゼーション

サマリービジュアライゼーションでは、データの概要を簡潔に視覚化します。

import pandas as pd
import matplotlib.pyplot as plt

data = {"Category": ["A", "B", "C"], "Values": [23, 45, 12]}
df = pd.DataFrame(data)
df.plot(kind="bar", x="Category", y="Values", legend=False)
plt.show()

[赤太]データビジュアライゼーションは、情報をわかりやすく、かつ魅力的に伝えるための非常に強力な手法[赤太:終]です。本記事を参考に、実際のプロジェクトでこれらの技術を試してみてください!

このサイトを稼働しているVPSはこちら

コメント

タイトルとURLをコピーしました