Scatter3D QML Type
3D散布図.詳細...
Import Statement: | import QtGraphs |
Inherits: |
- 継承されたメンバを含む、すべてのメンバの一覧
- Scatter3D はQt Graphs QML Types for 3D に含まれます。
プロパティ
- ambientLightStrength : real
- aspectRatio : real
- axisX : Value3DAxis
- axisY : Value3DAxis
- axisZ : Value3DAxis
- cameraPreset : Graphs3D.CameraPreset
- cameraTargetPosition : vector3d
- cameraXRotation : float
- cameraYRotation : float
- cameraZoomLevel : float
- currentFps : int
- customItemList : list<Custom3DItem>
- gridLineType : Graphs3D.GridLineType
- horizontalAspectRatio : real
- labelMargin : real
- lightColor : color
- lightStrength : real
- locale : locale
- margin : real
- maxCameraZoomLevel : float
- measureFps : bool
- minCameraZoomLevel : float
- msaaSamples : int
- optimizationHint : Graphs3D.OptimizationHint
- orthoProjection : bool
- polar : bool
- queriedGraphPosition : vector3d
- radialLabelOffset : real
- renderingMode : Graphs3D.RenderingMode
- rotationEnabled : bool
- scene : Scene3D
- selectedElement : Graphs3D.ElementType
- selectedSeries : Scatter3DSeries
- selectionEnabled : bool
- selectionMode : Graphs3D.SelectionMode
- seriesList : list<Scatter3DSeries>
- shadowQuality : Graphs3D.ShadowQuality
- shadowStrength : real
- theme : GraphsTheme
- wrapCameraXRotation : bool
- wrapCameraYRotation : bool
- zoomAtTargetEnabled : bool
- zoomEnabled : bool
シグナル
- axisXChanged(ValueAxis3D axis)
- axisYChanged(ValueAxis3D axis)
- axisZChanged(ValueAxis3D axis)
- doubleTapped(QEventPoint eventPoint, Qt::MouseButton button)
- dragged(QVector2D delta)
- longPressed()
- mouseMove(QPoint mousePos)
- pinch(qreal delta)
- selectedSeriesChanged(Scatter3DSeries series)
- tapped(QEventPoint eventPoint, Qt::MouseButton button)
- wheel(QQuickWheelEvent *event)
メソッド
- qsizetype addCustomItem(Custom3DItem item)
- void addSeries(Scatter3DSeries series)
- void clearSelection()
- bool hasSeries(Abstract3DSeries series)
- void releaseCustomItem(Custom3DItem item)
- void removeCustomItem(Custom3DItem item)
- void removeCustomItemAt(vector3d position)
- void removeCustomItems()
- void removeSeries(Scatter3DSeries series)
- Abstract3DAxis selectedAxis()
- Custom3DItem selectedCustomItem()
- qsizetype selectedCustomItemIndex()
- int selectedLabelIndex()
詳細な説明
この型を使うと、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 |
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
locale : locale |
各種数値ラベルの書式設定に用いるロケールを設定します。デ フ ォ ル ト は"C"
ロ ケールです。
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 |
renderingMode がIndirect
の場合、 マルチサンプルアンチエイリアシングで使用されるサンプル数。renderingMode がDirectToBackground
の場合、 こ のプ ロ パテ ィ 値は読み取 り 専用で、 ウ ィ ン ド ウ 表面形式で指定 さ れたサンプル数を返 し ます。デフォルトは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
です。
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 値のいずれか。
seriesList : list<Scatter3DSeries> |
このプロパティは、グラフの系列を保持する。デフォルトでは、このプロパティには空のリストが含まれます。系列を設定するには、addSeries() メソッドを使用するか、グラフの子として定義します。
shadowQuality : Graphs3D.ShadowQuality |
影の質。QtGraphs3D::ShadowQuality enum値の1つ。
QtGraphs3D::ShadowQualityも参照してください 。
shadowStrength : real |
グラフ全体の影の強さ。数値が大きいほど影は濃くなります。値は0.0
と100.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) |
* * このシグナルは、axisX がaxis に変更されたときに発行されます。
注意: 対応するハンドラはonAxisXChanged
です。
axisYChanged(ValueAxis3D axis) |
* * このシグナルは、axisY がaxis に変更されたときに発せられます。
注: 対応するハンドラはonAxisYChanged
です。
axisZChanged(ValueAxis3D axis) |
* * このシグナルはaxisZ がaxis に変更されたときに発せられます。
注: 対応するハンドラはonAxisZChanged
です。
doubleTapped(QEventPoint eventPoint, Qt::MouseButton button) |
このシグナルは、グラフ・アイテムが短い時間内に2回タップされたときに発せられる。eventPoint シグナル・パラメータには、タップされたポイントに関するリリース・イベントの情報が含まれ、button はクリックされたmouse button で、タッチスクリーンではNoButton
です。
注: 対応するハンドラはonDoubleTapped
です。
QEventPoint 、Qt::MouseButtons 、TapHandler::doubleTappedも参照してください 。
dragged(QVector2D delta) |
このシグナルは、ピンチ・ジェスチャーの実行中にグラフ上の点群の移動が変更されたときに発行されます。delta ベクトルは並進の変化を示します。
注: 対応するハンドラはonDragged
です。
PinchHandler::translationChangedも参照してください 。
longPressed() |
このシグナルは、parent
アイテムが押され、TapHandler::longPressThreshold を超える時間保持されたときに発せられます。
注: 対応するハンドラはonLongPressed
。
mouseMove(QPoint mousePos) |
このシグナルは、グラフが mouseMove イベントを受信したときに発行されます。mousePos 値は、マウスが移動している間のマウスの位置を示します。
注: 対応するハンドラはonMouseMove
です。
QQuickItem::mouseMoveEventも参照して ください。
pinch(qreal delta) |
このシグナルは、ピンチ・ジェスチャーの実行中にグラフのスケール・ファクターが変化したときに発行されます。delta の値はスケールの乗法的変化を与えます。
注: 対応するハンドラはonPinch
です。
PinchHandler::scaleChangedも参照して ください。
selectedSeriesChanged(Scatter3DSeries series) |
* * このシグナルはselectedSeries がseries に変更されたときに発せられます。
注: 対応するハンドラはonSelectedSeriesChanged
です。
tapped(QEventPoint eventPoint, Qt::MouseButton button) |
このシグナルはグラフアイテムが1回タップされたときに発せられる。eventPoint シグナルパラメータには、タップされたポイントに関するリリースイベントの情報が含まれ、button はクリックされたmouse button 、タッチスクリーンではNoButton
です。
注: 対応するハンドラはonTapped
です。
QEventPoint 、Qt::MouseButtons 、TapHandler::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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。