Pythonを使用してクールな散布図を描く

序文

この記事のテキストと写真はインターネットからのものであり、学習とコミュニケーションのみを目的としており、商用目的ではありません。ご不明な点がございましたら、処理についてお問い合わせください。

PS:Pythonの学習教材が必要な場合は、以下のリンクをクリックして自分で入手できます

Pythonの無料の学習資料、コード、交換回答クリックして参加


1.散布図の概要

1.散布図とは何ですか?

散布図は、数理統計の回帰分析における直交座標系の平面上のデータポイントの分布を指します。散布図は、独立変数とともに変化する従属変数の一般的な傾向を表します。この傾向から、経験的分布に適した関数変数間の関数関係を見つけること。

2.散布図の用途は何ですか?

1.データはグラフで表示されますが、これは明らかにより直感的です。作業レポートやその他の場面で乗数効果があり、リスナーが処理しているデータを受け入れて理解しやすくなります。

2.散布図は、グラフを調査する傾向があり、変数間の隠れた関係を発見し、意思決定のための重要なガイダンスを作成することができます。

3.散布図の中心的な価値は、変数間の関係を発見することです。この関係を単純に線形回帰関係として解釈しないでください。変数間には、線形関係、指数関係、対数関係など、多くの関係があります。もちろん、重要な関係である関係はありません。

4.散布図は回帰分析を受けた後、関連するオブジェクトを予測および分析し、あいまいさの代わりに科学的な決定を下すことができます。たとえば、医学における白血球散布図は、医療検査における私たちの健康の正確な分析を提供し、医師のフォローアップ判断のための重要な技術サポートを提供することができます。

3つ目は、散布図の基本要素です。

散布図の主な構成要素は、データソース、横軸と縦軸、変数名、調査対象です。基本的な要素はポイント、つまりカウントするデータです。これらのポイントの分布によってのみ、変数間の関係を観察できます。

散布図は一般に、2つの変数間の関係を調査しますが、これは多くの場合、日常のニーズを満たすことができません。したがって、バブルチャートの誕生は、より豊富な情報を提供するために散布図に変数を追加することです。作成された散布図はバブルに似ているため、ポイントのサイズまたは色を3番目の変数として定義できます。バブルチャート。

2.散布図の描画

1つの単純な散布図

散布図が示すデータが多いほど、効果はより明白になります。これは、通常モデリングを実行するときの回帰フィッティングの原則です。データが特定の機能的関係に従っている場合、マシンを介してトレーニングし、継続的に反復して最良の結果を得ることができます。

import pyecharts.options as opts
from pyecharts.charts import Scatter

data = [
    [10.0, 8.04],
    [8.0, 6.95],
    [13.0, 7.58],
    [9.0, 8.81],
    [11.0, 8.33],
    [14.0, 9.96],
    [6.0, 7.24],
    [4.0, 4.26],
    [12.0, 10.84],
    [7.0, 4.82],
    [5.0, 5.68],
]
data.sort(key=lambda x: x[0])
x_data = [d[0] for d in data]
y_data = [d[1] for d in data]

(
    Scatter(init_opts=opts.InitOpts(width="1200px", height="600px"))
    .add_xaxis(xaxis_data=x_data)
    .add_yaxis(
        series_name="",
        y_axis=y_data,
        symbol_size=20,
        label_opts=opts.LabelOpts(is_show=False),
    )
    .set_series_opts()
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(
            type_="value", splitline_opts=opts.SplitLineOpts(is_show=True)
        ),
        yaxis_opts=opts.AxisOpts(
            type_="value",
            axistick_opts=opts.AxisTickOpts(is_show=True),
            splitline_opts=opts.SplitLineOpts(is_show=True),
        ),
        tooltip_opts=opts.TooltipOpts(is_show=False),
    )
    .render("简单散点图.html")
)

2つの多次元データ散布図

通常のアプリケーションシナリオでは、散布図が多すぎるとレンダリングが多すぎることがわかります。特定の領域の分布の数を知るだけで済みます。元々はヒストグラムを解くことができますが、この散布図の方が優れています。分布を反映するエリアの中で、主にその量の傾向の変化を見ることができ、あなた自身のビジネスニーズに応じてそれを使用します。

from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.commons.utils import JsCode
from pyecharts.faker import Faker

c = (
    Scatter()
    .add_xaxis(Faker.choose())
    .add_yaxis(
        "类别1",
        [list(z) for z in zip(Faker.values(), Faker.choose())],
        label_opts=opts.LabelOpts(
            formatter=JsCode(
                "function(params){return params.value[1] +' : '+ params.value[2];}"
            )
        ),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="多维度数据"),
        tooltip_opts=opts.TooltipOpts(
            formatter=JsCode(
                "function (params) {return params.name + ' : ' + params.value[2];}"
            )
        ),
        visualmap_opts=opts.VisualMapOpts(
            type_="color", max_=150, min_=20, dimension=1
        ),
    )
    .render("多维数据散点图.html")
)
print([list(z) for z in zip(Faker.values(), Faker.choose())])

第三に、散布図は分割線を示しています

分割線が表示されますが、実は前回と変わりません。

from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.faker import Faker

c = (
    Scatter()
    .add_xaxis(Faker.choose())
    .add_yaxis("A", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="标题"),
        xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
        yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
    )
    .render("分割线.html")
)

第4に、散布図の突起のサイズ(2次元)

2次元データを使用して各カテゴリの分布を示し、グラフには複数のカテゴリを表示できるため、解釈の効果が大幅に向上します。

from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.faker import Faker

c = (
    Scatter()
    .add_xaxis(Faker.choose())
    .add_yaxis("1", Faker.values())
    .add_yaxis("2", Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="标题"),
        visualmap_opts=opts.VisualMapOpts(type_="size", max_=150, min_=20),
    )
    .render("凸出大小散点图.html")
)

5つの3D散布図表示

 

 

6つの動的リップル散布図

前の散布図は静的です。動的散布図を見てみましょう。

from pyecharts import options as opts
from pyecharts.charts import EffectScatter
from pyecharts.faker import Faker

c = (
    EffectScatter()
    .add_xaxis(Faker.choose())
    .add_yaxis("", Faker.values())
    .set_global_opts(title_opts=opts.TitleOpts(title="散点图"))
    .render("动态散点图.html")
)

7、矢印記号散布図

from pyecharts import options as opts
from pyecharts.charts import EffectScatter
from pyecharts.faker import Faker
from pyecharts.globals import SymbolType

c = (
    EffectScatter()
    .add_xaxis(Faker.choose())
    .add_yaxis("", Faker.values(), symbol=SymbolType.ARROW)
    .set_global_opts(title_opts=opts.TitleOpts(title="标题"))
    .render("箭头动态散点图.html")
)

 

ここでは、ほとんど散布図を紹介します。最も実用的なプロットは最初のプロットで、その他はシナリオに応じて使用されます。

おすすめ

転載: blog.csdn.net/pythonxuexi123/article/details/114744385