質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

matplotlibでの3次元の散布図

yu__ya
yu__ya

総合スコア6

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1回答

0リアクション

0クリップ

2754閲覧

投稿2019/11/15 05:48

編集2019/11/15 06:30

3種類のデータ、4種類のラベルで、120個のデータがあります。
これを三次元の散布図にしたいのですが、120個のデータのうち、最後の30個しかプロットされません。
データは、ラベル0が30個、1が30個、2が30個、3が30個の順です。

python

import numpy as np import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import axes3d pd.options.display.max_rows = 8 state = np.random.RandomState(0) # csv からデータ読み込み names = ['red', 'green', 'blue','season'] coloer = pd.read_csv('personal_coloer_data_rgb.csv', header=None, names=names) df=coloer label=df[['season']] data=df[['red', 'green', 'blue']] X=data T=label hue = 'season' labels = set(df[hue]) dataset = [] for x in labels: xs = df[df[hue]==x]['red'] ys = df[df[hue]==x]['green'] zs = df[df[hue]==x]['blue'] dataset.append((xs, ys, zs)) fig = plt.figure() ax = fig.add_subplot(1, 1, 1, projection='3d') for data, label in zip(dataset, labels): ax.scatter(xs, ys, zs, label=label) ax.set_title('Matplot 3d scatter plot') # タイトル ax.set_xlabel('red') # X軸ラベル ax.set_ylabel('green') # Y軸ラベル ax.set_zlabel('blue') # Z軸ラベル ax.legend(loc=2, title='legend', shadow=True) # 凡例 plt.show()

出力するとイメージ説明
このようになっています

使っているデータは、

red green blue season
0 1 0.99 0.96 0
1 0.98 0.93 0.78 0
2 0.94 0.92 0.87 0



30 0.95 0.91 0.85 1
31 0.7 0.6 0.47 1
32 0.71 0.57 0.32 1



60 0.97 0.97 0.95 2
61 0.6 0.64 0.69 2
62 0.32 0.38 0.48 2



90 1 0.87 0.96 3
91 0.85 0.89 1 3
92 0.92 0.99 0.91 3



119 0.92 0.99 0.91 3


labelのseasonが0~3までそれぞれ30個ずつあります

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

hayataka2049

2019/11/15 06:21

この質問内容の場合、データがあった方が回答がつきやすいので、可能であれば personal_coloer_data_rgb.csv をテキスト形式でまるごと掲載してください。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。