Scatter3D QML Type

3D散布図.詳細...

Import Statement: import QtGraphs
Inherits:

GraphsItem3D

プロパティ

シグナル

メソッド

詳細な説明

この型を使うと、Qt Quick を使って散布図を 3D で描画することができます。

この型を使用するには Qt Graphs モジュールをインポートする必要があります:

import QtGraphs

その後、qml ファイルで Scatter3D を使うことができます:

import QtQuick
import QtGraphs

Item {
    width: 640
    height: 480

    Scatter3D {
        width: parent.width
        height: parent.height
        Scatter3DSeries {
            ItemModelScatterDataProxy {
                itemModel: dataModel
                // Mapping model roles to scatter series item coordinates.
                xPosRole: "xPos"
                yPosRole: "yPos"
                zPosRole: "zPos"
            }
        }
    }

    ListModel {
        id: dataModel
        ListElement{ xPos: "2.754"; yPos: "1.455"; zPos: "3.362"; }
        ListElement{ xPos: "3.164"; yPos: "2.022"; zPos: "4.348"; }
        ListElement{ xPos: "4.564"; yPos: "1.865"; zPos: "1.346"; }
        ListElement{ xPos: "1.068"; yPos: "1.224"; zPos: "2.983"; }
        ListElement{ xPos: "2.323"; yPos: "2.502"; zPos: "3.133"; }
    }
}

より詳細な使用例はSimple Scatter Graphを参照してください。

Scatter3DSeries,ScatterDataProxy,Bars3D,Surface3D,Qt Graphs C++ Classes for 3Dも参照してください

プロパティの説明

ambientLightStrength : real

グラフ全体の環境光の強さ。この値は、光の位置に関係なく、グラフ全体の色がどれだけ均等に明るく表示されるかを決定します。値は0.0 から1.0 の間でなければなりません。


aspectRatio : real

水平面上の最長軸と y 軸の間のグラフのスケー リ ング比。デフォルトは2.0 です。

注: Bars3D には影響しません。

horizontalAspectRatioも参照してください。


axisX : Value3DAxis

アクティブな x 軸。

軸が与えられない場合、ラベルと自動調整範囲を持たない一時的なデフォルト軸が作成されます。この一時軸は、他の軸が明示的に同じ方向に設定されると破棄されます。


axisY : Value3DAxis

アクティブなY軸。

軸が与えられない場合、ラベルと自動調整範囲を持たない一時的なデフォルト軸が作成されます。この一時的な軸は、他の軸が同じ方向に明示的に設定されると破棄されます。


axisZ : Value3DAxis

アクティブなZ軸。

軸が与え ら れない と 、 ラ ベルな し と 自動調整範囲を持つ一時的なデフ ォル ト 軸が作成 さ れます。この一時的な軸は、他の軸が同じ方向に明示的に設定されると破棄される。


cameraPreset : Graphs3D.CameraPreset

現在ア ク テ ィ ブなカ メ ラ プ リ セ ッ ト 。Graphs3D.CameraPreset のいずれか。 プ リ セ ッ ト がア ク テ ィ ブでない と きは、 値はGraphs3D.CameraPreset.None


cameraTargetPosition : vector3d

vector3d としてのカメラターゲット。デフォルトはvector3d(0.0, 0.0, 0.0)

有効な座標値は-1.0...1.0 の間です。 こ こ で端の値は、 対応する軸範囲の端を示 し ます。こ の範囲外の値は端に ク ラ ンプ さ れます。

注 : 棒グラフの場合、 Y 座標は無視 さ れ、 カ メ ラ はつねに水平背景上の点を タ ーゲ ッ ト し ます。


cameraXRotation : float

X-rotation angle (X 回転角度) 現在のベース位置を起点とした、ターゲット点周りのカメラの X 回転角度 (度)。


cameraYRotation : float

ターゲットポイント周りのカメラのY回転角度。


cameraZoomLevel : float

カメラのズームレベル。デフォルト値の100.0 は、カメラにズームインまたはズームアウトが設定されていないことを意味します。この値はminCameraZoomLevel およびmaxCameraZoomLevel プロパティによって制限されます。

minCameraZoomLevel およびmaxCameraZoomLevelも参照してください


currentFps : int

FPS 測定が有効な場合、最後の 1 秒間の結果がこの読み取り専用プロパティに保存されます。測定が有効になってからこの値が更新されるまで、少なくとも 1 秒かかります。

measureFpsも参照してください


customItemList : list<Custom3DItem>

グラフに追加されたCustom3DItem アイテムのリスト。グラフは、追加された項目の所有権を持ちます。


gridLineType : Graphs3D.GridLineType

グリッド線のタイプが Graphs3D.GridLineType.Shader か Graphs3D.GridLineType.Geometry かを定義します。

この値はすべてのグリッド線に影響します。


horizontalAspectRatio : real

x 軸と z 軸間のグラフのスケーリングの比率。値0.0 は、 軸範囲に従っ た自動ス ケー リ ン グ を示 し ます。デフォルトは0.0

注: barThickness およびbarSpacing プロパティによって水平面上のスケーリングを処理するBars3D には影響しません。極座標グラフもこのプロパティを無視します。

aspectRatio,polar,Bars3D::barThickness,Bars3D::barSpacingも参照


labelMargin : real

brief このプロパティは、軸ラベルの配置のマージンを指定します。

負の値はラベルをプロット領域内に配置し、正の値はラベルをプロット領域外に配置する。値が負の場合、ラベルの自動回転は無効になる。デフォルトは0.1

QAbstract3DAxis::labelAutoAngleも参照


lightColor : color

Scene3D で定義されている環境光と鏡面光の色。


lightStrength : real

グラフ全体の鏡面光強度。この値は0.010.0 の間でなければなりません。

こ の値は、Scene3D で指定 し た光に影響を与え ます。


locale : locale

各種数値ラベルの書式設定に用いるロケールを設定します。デ フ ォ ル ト は"C" ロ ケールです。

Value3DAxis::labelFormatも参照。


margin : real

margin(余白) グラフの余白を、プロット可能なグラフ領域の端とグラフの背景の端との間に残されたスペースに用いる絶対値。

marginの値が負の場合、余白は自動的に決定され、シリーズ内のアイテムのサイズやグラフの種類によって変化する。グラフのアスペクト比がデフォルト値から変更されていない場合、値はY軸範囲の分数として解釈される。デフォルトは-1.0

注: 散布図グラフの余白を自動的に決定される余白よりも小さく設定すると、グラフの端の散布図項目がグラフの背景と重なることがあります。

:散布図およびサーフェス グラフでは、軸ラベルのサイズに比べてマージンが小さい場合、軸のエッジ ラベルの位置は、隣接する軸のエッジ ラベルと重ならないように調整されます。


maxCameraZoomLevel : float

カメラのズーム・レベルの最大許容値を設定します。新しい最大レベルが既存の最小レベルより低い場合は、最小レベルも新しい最大レベルに調整されます。現在のcameraZoomLevel が新しい境界の外側にある場合は、それも調整されます。デフォルトは500.0f です。

cameraZoomLevel およびminCameraZoomLevelも参照


measureFps : bool

true の場合、レンダリングはオンデマンドではなく連続的に行われ、currentFps プロパティの値が更新されます。デフォルトはfalse です。

currentFpsも参照して ください。


minCameraZoomLevel : float

最小許容カ メ ラ ズーム レベルを設定 し ます。新しい最小レベルが既存の最大レベルより高い場合、最大レベルも新しい最小レベルに調整されます。現在のcameraZoomLevel が新しい範囲外の場合は、それも調整されます。minCameraZoomLevel を1.0 以下に設定することはできません。デフォルトは10.0

cameraZoomLevel およびmaxCameraZoomLevelも参照


msaaSamples : int

renderingModeIndirect の場合、 マルチサンプルアンチエイリアシングで使用されるサンプル数。renderingModeDirectToBackground の場合、 こ のプ ロ パテ ィ 値は読み取 り 専用で、 ウ ィ ン ド ウ 表面形式で指定 さ れたサンプル数を返 し ます。デフォルトは4 です。

renderingModeも参照してください


optimizationHint : Graphs3D.OptimizationHint

レンダリングの最適化にデフォルトモード、スタティックモード、レガシーモードのいずれを使用するかを指定します。

デフォルト・モードはインスタンス・レンダリングを使用し、ほとんどのシステムで最高レベルのパフォーマンスで全機能を提供する。静的モードはグラフのレンダリングを最適化し、変化のない大規模なデータセットに最適です。動的なデータの変化やアイテムの回転があると遅くなります。選択は最適化されないため、大規模なデータセットで静的モードを使用することはお勧めできません。レガシーモードは、インスタンス化せずに、グラフ内のすべての項目を個別にレンダリングします。これは、デフォルト・モードが機能しない場合にのみ使用されるべきで、ターゲット・システムがインスタンス化をサポートしていない場合と同じです。デフォルトはDefault

注意: 環境によっては、静的最適化を使用した大きなグラフが描画されないことがあります。これは、すべてのアイテムが1回の描画呼び出しで描画されるためで、グラフィックドライバによって、呼び出しごとにサポートされる最大頂点数が異なるからです。これは主に32ビットおよびOpenGL ES2プラットフォームでの問題です。この問題を回避するには、頂点数の少ないアイテムメッシュを選択するか、ポイントメッシュを使用します。

Abstract3DSeries::mesh およびQtGraphs3D::OptimizationHintも参照して ください。


orthoProjection : bool

true の場合、グラフの表示に正射投影が使用されます。デフォルトはfalse です。

注意: true に設定すると、影は無効になります。


polar : bool

true に設定すると、水平軸が極軸に変更されます。x 軸は角度軸になり、z 軸は半径軸になります。棒グラフでは極軸モードは利用できない。

デフォルトはfalse

orthoProjection およびradialLabelOffsetも参照


queriedGraphPosition : vector3d

こ の読み出 し 専用のプ ロパテ ィ には、Scene3D::graphPositionQuery を用いて取得 さ れた各軸に沿 う 最新のグ ラ フ位置値が格納 さ れてい ます。値は[-1, 1] の範囲に正規化されます。クエリされた位置がグラフ境界の外側であった場合、値は実際の位置を反映せず、その代わりに[-1, 1] の範囲外の未定義の位置となります。この値は、問い合わせが行われるまで未定義となる。

特定の画面位置に一致する唯一の正しい3D座標は存在しないため、一貫性を保つために、クエリは常にグラフを囲む不可視のボックスの内側に対して行われます。

注: 棒グラフでは、グラフのフロアレベルでしかグラフの位置を問い合わせることができないため、棒グラフではy値は常に0であり、有効な問い合わせはグラフのフロアを含む画面位置でのみ行うことができます。

Scene3D::graphPositionQueryも参照のこと


radialLabelOffset : real

このプロパティは、半径極軸の軸ラベルの正規化された水平オフセットを指定します。値0.0 は、ラベルが0角度の角度軸グリッド線の隣に描画されるべきであることを示します。値1.0 は、ラベルがグラフ背景の端の通常の場所に描画されることを示す。このプロパティは、polar プロパティ値がfalse の場合は無視されます。デフォルトは1.0

polarも参照してください


renderingMode : Graphs3D.RenderingMode

グラフの描画方法。デフォルトはIndirect

定数説明
DirectToBackgroundグラフがウィンドウの背景に直接描画され、QMLアイテムはその上に描画されることを示します。背景として透明でない QML アイテムを使用すると、グラフは非表示になります。グラフを描画する前にウィンドウ全体をクリアする。ウィンドウのサーフェスフォーマットがアンチエイリアスをサポートしている場合、アンチエイリアスが使用されます(qDefaultSurfaceFormat() を参照)。このレンダリングモードは最高のパフォーマンスを提供しますが、QMLの非標準的な動作が犠牲になります。例えば、グラフはQMLアイテムのZ順序に従わず、不透明度の値はグラフに影響しません。
Indirect通常の QML アイテム描画時に描画されるオフスクリーンサーフェスにグラフがレンダリングされることを示します。現在の環境でマルチサンプリングがサポートされており、msaaSamples プロパティの値が 0 より大きい場合、レンダリング画像はマルチサンプリング方式でアンチエイリアス処理されます。このレンダリングモードでは、パフォーマンスが犠牲になるものの、良好な品質と通常の QML アイテムの動作が得られます。

注意 :OpenGL ES2環境では、どのレンダリングモードでもアンチエイリアシングはサポートされていません。

注意 : グラフのantialiasing プロパティを設定しても何も起こりません。ただし、現在のレンダリングモードでアンチエイリアシングが使用されている場合は、グラフ自体で設定されます。

msaaSamplesも参照してください


rotationEnabled : bool

この入力ハンドラがグラフの回転を許可するかどうか。

デフォルトはtrue です。


scene : Scene3D

シーンの操作やシーン要素へのアクセスに使用できるScene3D ポインタ。

このプロパティは読み取り専用です。


selectedElement : Graphs3D.ElementType

グラフ内で選択されている要素。

このプロパティは、選択された要素のタイプを照会するために使用することができる。このタイプは、グラフ内で新しい選択が行われ、selectedElementChanged シグナルが発せられるまで有効である。

このシグナルは、例えば、カスタマイズされた入力処理を実装するために使用することができます。

selectedLabelIndex(),selectedAxis(),selectedCustomItemIndex(),selectedCustomItem(),Bars3D::selectedSeries,Scatter3D::selectedSeries,Scene3D::selectionQueryPosition,QtGraphs3D::ElementTypeも参照のこと


selectedSeries : Scatter3DSeries

選択された系列またはnull。


selectionEnabled : bool

この入力ハンドラがグラフからの選択を許可するかどうか。

デフォルトはtrue


selectionMode : Graphs3D.SelectionMode

グラフのアクティブな選択モード。QtGraphs3D::SelectionFlag enum 値のいずれか。

QtGraphs3D::SelectionFlagも参照


seriesList : list<Scatter3DSeries> [default]

このプロパティは、グラフの系列を保持する。デフォルトでは、このプロパティには空のリストが含まれます。系列を設定するには、addSeries() メソッドを使用するか、グラフの子として定義します。


shadowQuality : Graphs3D.ShadowQuality

影の質。QtGraphs3D::ShadowQuality enum値の1つ。

QtGraphs3D::ShadowQualityも参照してください


shadowStrength : real

グラフ全体の影の強さ。数値が大きいほど影は濃くなります。値は0.0100.0 の間でなければな り ません。

こ の値は、Scene3D で指定 し た光に影響を与え ます。


theme : GraphsTheme

グラフのアクティブテーマ。

GraphsThemeも参照。


wrapCameraXRotation : bool

X 回転の最小限度と最大限度の動作。デ フ ォ ル ト では、 X 回転は最小値か ら 最大値へ、 最大値か ら 最小値へ回 り ます。

true に設定すると、カメラの X 回転は最小値から最大値へ、最大値から最小値へと折り返されます。false に設定すると、カメラの X 回転は、最小値と最大値によって決定されるセクタに制限されます。


wrapCameraYRotation : bool

Y 回転での最小および最大制限の動作。デフォルトでは、Y 回転は最小値と最大値の間に制限され、折り返しはありません。

true の場合、 カ メ ラ の Y 回転は最小か ら 最大へ、 最大か ら 最小へ折 り 返 さ れます。false の場合、カメラの Y 回転は、最小値と最大値によって決定されるセクタに制限されます。


zoomAtTargetEnabled : bool

デ フ ォル ト : 。 グ ラ フ のズーム さ れた点が、 ズーム後同 じ 位置に留ま る よ う に、 ズームでカ メ ラ タ ーゲ ッ ト を変え る かど う か。

デフォルトはtrue


zoomEnabled : bool

この入力ハンドラがグラフのズームを許すかどうか。

デフォルトはtrue


シグナルドキュメント

axisXChanged(ValueAxis3D axis)

* * このシグナルは、axisXaxis に変更されたときに発行されます。

注意: 対応するハンドラはonAxisXChanged です。


axisYChanged(ValueAxis3D axis)

* * このシグナルは、axisYaxis に変更されたときに発せられます。

注: 対応するハンドラはonAxisYChanged です。


axisZChanged(ValueAxis3D axis)

* * このシグナルはaxisZaxis に変更されたときに発せられます。

注: 対応するハンドラはonAxisZChanged です。


doubleTapped(QEventPoint eventPoint, Qt::MouseButton button)

このシグナルは、グラフ・アイテムが短い時間内に2回タップされたときに発せられる。eventPoint シグナル・パラメータには、タップされたポイントに関するリリース・イベントの情報が含まれ、button はクリックされたmouse button で、タッチスクリーンではNoButton です。

注: 対応するハンドラはonDoubleTapped です。

QEventPointQt::MouseButtonsTapHandler::doubleTappedも参照してください


dragged(QVector2D delta)

このシグナルは、ピンチ・ジェスチャーの実行中にグラフ上の点群の移動が変更されたときに発行されます。delta ベクトルは並進の変化を示します。

注: 対応するハンドラはonDragged です。

PinchHandler::translationChangedも参照してください


longPressed()

このシグナルは、parent アイテムが押され、TapHandler::longPressThreshold を超える時間保持されたときに発せられます。

注: 対応するハンドラはonLongPressed

TapHandler::longPressedも参照


mouseMove(QPoint mousePos)

このシグナルは、グラフが mouseMove イベントを受信したときに発行されます。mousePos 値は、マウスが移動している間のマウスの位置を示します。

注: 対応するハンドラはonMouseMove です。

QQuickItem::mouseMoveEventも参照して ください。


pinch(qreal delta)

このシグナルは、ピンチ・ジェスチャーの実行中にグラフのスケール・ファクターが変化したときに発行されます。delta の値はスケールの乗法的変化を与えます。

注: 対応するハンドラはonPinch です。

PinchHandler::scaleChangedも参照して ください。


selectedSeriesChanged(Scatter3DSeries series)

* * このシグナルはselectedSeriesseries に変更されたときに発せられます。

注: 対応するハンドラはonSelectedSeriesChanged です。


tapped(QEventPoint eventPoint, Qt::MouseButton button)

このシグナルはグラフアイテムが1回タップされたときに発せられる。eventPoint シグナルパラメータには、タップされたポイントに関するリリースイベントの情報が含まれ、button はクリックされたmouse button 、タッチスクリーンではNoButton です。

注: 対応するハンドラはonTapped です。

QEventPointQt::MouseButtonsTapHandler::singleTappedも参照


wheel(QQuickWheelEvent *event)

このシグナルは、グラフがQWheelEvent 型のevent を受信するたびに発行されます。つまり、ホイールが動かされたり、スクロールジェスチャが更新されたりするたびに発行されます。

注: 対応するハンドラはonWheel です。

WheelEvent およびWheelHandler::wheelも参照して ください。


メソッド・ドキュメント

qsizetype addCustomItem(Custom3DItem item)

Custom3DItem item をグラフに追加します。グラフは追加されたアイテムの所有権を持ちます。

add が成功した場合は追加されたアイテムのインデックスを返し、null アイテムを追加しようとした場合は -1、既に追加されたアイテムを追加しようとした場合はそのアイテムのインデックスを返します。

removeCustomItems(),removeCustomItem(),removeCustomItemAt()も参照


void addSeries(Scatter3DSeries series)

series をグラフに追加する。グラフは複数の系列を含むことができるが、軸は 1 セットのみである。新しく追加された系列が選択項目を指定している場合は、その項目が強調表示され、既存の選択項目はすべてクリアされます。アクティブな選択項目を持つことができるのは、追加された1つの系列だけである。

GraphsItem3D::hasSeries()も参照


void clearSelection()

追加された全シリーズの選択をクリアする。


bool hasSeries(Abstract3DSeries series)

series がすでにグラフに追加されているかどうかを返します。


void releaseCustomItem(Custom3DItem item)

item の所有権を取り戻し、グラフからitem を削除する。

注意: 同じアイテムが再びグラフに追加された場合、テクスチャファイルを再設定する必要があります。

Custom3DItem::textureFileも参照して ください。


void removeCustomItem(Custom3DItem item)

カスタムitem を削除します。それに割り当てられているリソースを削除します。


void removeCustomItemAt(vector3d position)

position のカスタム項目をすべて削除します。それらに割り当てられているリソースを削除します。


void removeCustomItems()

すべてのカスタム項目を削除します。それらに割り当てられているリソースを削除します。


void removeSeries(Scatter3DSeries series)

グラフからseries を削除する。

GraphsItem3D::hasSeries()も参照してください


Abstract3DAxis selectedAxis()

任意のラベル・タイプでselectedElementChanged シグナルを受信した後、選択された軸を取得するために使用できる。選択は、次のselectedElementChanged シグナルまで有効です。

選択された軸、または NULL を返します。

selectedElementも参照してください


Custom3DItem selectedCustomItem()

ElementType.CustomItem タイプでselectedElementChanged シグナルを受信した後、選択されたカスタム項目を取得するために使用できます。項目の所有権はグラフに残ります。選択は、次のselectedElementChanged シグナルまで有効です。

選択されたカスタム項目、または null を返します。

selectedElementも参照してください


qsizetype selectedCustomItemIndex()

ElementType.CustomItem 型のselectedElementChanged シグナルを受信した後、選択されたカスタム項目のインデックスを照会するために使用できます。選択は次のselectedElementChanged シグナルまで有効である。

選択されたカスタム項目のインデックス、または -1 を返します。

selectedElementも参照


int selectedLabelIndex()

任意のラベル・タイプでselectedElementChanged シグナルを受信した後、選択されたラベルのインデックスを問い合わせるために使用できる。選択は次のselectedElementChanged シグナルが来るまで有効である。

選択されたラベルのインデックス、または -1 を返します。

selectedElementも参照してください


©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。