ホームページ >バックエンド開発 >Python チュートリアル >簡単かつすぐに始められる人気の Python 視覚化モジュールを共有します。 !

簡単かつすぐに始められる人気の Python 視覚化モジュールを共有します。 !

WBOY
WBOY転載
2023-04-12 11:28:151286ブラウズ

簡単かつすぐに始められる人気の Python 視覚化モジュールを共有します。 !

アルタイルとは何ですか?

Altair は、分類と集計、データ変換、データ相互作用、グラフィック合成などを通じてデータを包括的に理解し、理解して分析することができ、インストールプロセスも非常に簡単であるため、統計可視化ライブラリと呼ばれています。

pip install altair
pip install vega_datasets
pip install altair_viewer

conda パッケージ マネージャーを使用して Altair モジュールをインストールしている場合、コードは次のとおりです:

conda install -c conda-forge altair vega_datasets

Altair の初体験

単純にヒストグラムを描画してみましょう。まず、DataFrame データ セットを作成します。コードは次のとおりです:

df = pd.DataFrame({"brand":["iPhone","Xiaomi","HuaWei","Vivo"],
"profit(B)":[200,55,88,60]})

次のステップは、ヒストグラムを描画するためのコードです:

import altair as alt
import pandas as pd
import altair_viewer
chart = alt.Chart(df).mark_bar().encode(x="brand:N",y="profit(B):Q")
# 展示数据,调用display()方法
altair_viewer.display(chart,inline=True)

output

簡単かつすぐに始められる人気の Python 視覚化モジュールを共有します。 !

構文構造全体の観点から見ると、まず alt.Chart() を使用して使用するデータ セットを指定し、次にインスタンス メソッド mark_ を使用します。 *() を使用してグラフのスタイルを描画し、最後に X 軸と Y 軸で表されるデータを指定します。N と Q がそれぞれ何を表すか知りたいかもしれません。これは変数の型の略称です。つまり、 , Altair モジュールはグラフィックスの描画に関係する変数の型を理解する必要があります。この方法でのみ、描画されたグラフィックスは期待どおりの効果になります。

N は名義変数 (Nominal) を表します。たとえば、携帯電話のブランドはすべて固有名詞ですが、Q は離散データに分割できる数値変数 (Quantitative) を表します。連続データ (continuous) は、時系列データに加えて、略語が T と順序変数 (O) で、たとえば、オンライン ショッピング プロセス中の販売者の評価には 1 ~ 5 の星が付けられます。

チャートの保存

最終的なチャートを保存するには、save() メソッドを直接呼び出して、オブジェクトを HTML ファイルとして保存します。コードは次のとおりです:

chart.save("chart.html")

また、コードの観点からは非常によく似た JSON ファイルとして保存することもできます。

chart.save("chart.json")

もちろん、以下に示すように、ファイルを画像形式で保存することもできます。

簡単かつすぐに始められる人気の Python 視覚化モジュールを共有します。 !

Altair の高度な操作

We On the上記をベースに、さらに派生および拡張すると、たとえば、横棒グラフを描画し、X 軸と Y 軸のデータを交換したいとします。コードは次のとおりです:

chart = alt.Chart(df).mark_bar().encode(x="profit(B):Q", y="brand:N")
chart.save("chart1.html")

output

簡単かつすぐに始められる人気の Python 視覚化モジュールを共有します。 !

同時に、折れ線グラフも描画してみます。mark_line() メソッドが呼び出され、コードは次のようになります:

## 创建一组新的数据,以日期为行索引值
np.random.seed(29)
value = np.random.randn(365)
data = np.cumsum(value)
date = pd.date_range(start="20220101", end="20221231")
df = pd.DataFrame({"num": data}, index=date)
line_chart = alt.Chart(df.reset_index()).mark_line().encode(x="index:T", y="num:Q")
line_chart.save("chart2.html")

output

簡単かつすぐに始められる人気の Python 視覚化モジュールを共有します。 !

通常、プロジェクト管理でよく使用されるガント チャートを描画することもできます。X 軸は時間と日付を追加し、Y 軸はプロジェクトの進行状況を表します。

project = [{"project": "Proj1", "start_time": "2022-01-16", "end_time": "2022-03-20"},
{"project": "Proj2", "start_time": "2022-04-12", "end_time": "2022-11-20"},
......
]
df = alt.Data(values=project)
chart = alt.Chart(df).mark_bar().encode(
 alt.X("start_time:T",
 axis=alt.Axis(format="%x",
 formatType="time",
 tickCount=3),
 scale=alt.Scale(domain=[alt.DateTime(year=2022, month=1, date=1),
 alt.DateTime(year=2022, month=12, date=1)])),
 alt.X2("end_time:T"),
 alt.Y("project:N", axis=alt.Axis(labelAlign="left",
labelFontSize=15,
labelOffset=0,
labelPadding=50)),
 color=alt.Color("project:N", legend=alt.Legend(labelFontSize=12,
symbolOpacity=0.7,
titleFontSize=15)))
chart.save("chart_gantt.html")

output

簡単かつすぐに始められる人気の Python 視覚化モジュールを共有します。 !

上の図から、チームが取り組んでいるいくつかのプロジェクトがわかります。もちろんプロジェクトは異なりますが、プロジェクトごとに期間も異なりますので、グラフに表示すると非常に直感的です。

次に、mark_circle() メソッドを呼び出して散布図を再度描画します。コードは次のとおりです。

df = data.cars()
## 筛选出地区是“USA”也就是美国的乘用车数据
df_1 = alt.Chart(df).transform_filter(
 alt.datum.Origin == "USA"
)
df = data.cars()
df_1 = alt.Chart(df).transform_filter(
 alt.datum.Origin == "USA"
)
chart = df_1.mark_circle().encode(
 alt.X("Horsepower:Q"),
 alt.Y("Miles_per_Gallon:Q")
)
chart.save("chart_dots.html")

output

簡単かつすぐに始められる人気の Python 視覚化モジュールを共有します。 !

# # もちろん、さらに最適化してグラフをより美しくしたり、色を追加したりすることもできます。コードは次のとおりです:

chart = df_1.mark_circle(color=alt.RadialGradient("radial",[alt.GradientStop("white", 0.0),
alt.GradientStop("red", 1.0)]),
 size=160).encode(
 alt.X("Horsepower:Q", scale=alt.Scale(zero=False,padding=20)),
 alt.Y("Miles_per_Gallon:Q", scale=alt.Scale(zero=False,padding=20))
)

output

簡単かつすぐに始められる人気の Python 視覚化モジュールを共有します。 !

We散布点のサイズを変更します。異なる散布点のサイズは、異なる値を表します。コードは次のとおりです:

chart = df_1.mark_circle(color=alt.RadialGradient("radial",[alt.GradientStop("white", 0.0),
alt.GradientStop("red", 1.0)]),
 size=160).encode(
 alt.X("Horsepower:Q", scale=alt.Scale(zero=False, padding=20)),
 alt.Y("Miles_per_Gallon:Q", scale=alt.Scale(zero=False, padding=20)),
 size="Acceleration:Q"
)

output

簡単かつすぐに始められる人気の Python 視覚化モジュールを共有します。 !

以上が簡単かつすぐに始められる人気の Python 視覚化モジュールを共有します。 !の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。