Bars3DNode QML Type

3D棒グラフノード。詳細...

Import Statement: import QtGraphs
Inherits:

GraphsNode

プロパティ

信号

方法

詳細説明

この型は、Qt Quick を用いて棒グラフノードを 3D でレンダリングすることを可能にします。

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

import QtGraphs

その後、qmlファイルでBars3DNodeを使用することができます:

import QtQuick
import QtGraphs

View3D {
    width: 640
    height: 480

    Bars3DNode {
        width: parent.width
        height: parent.height

        Bar3DSeries {
            itemLabelFormat: "@colLabel, @rowLabel: @valueLabel"

            ItemModelBarDataProxy {
                itemModel: dataModel
                // Mapping model roles to bar series rows, columns, and values.
                rowRole: "year"
                columnRole: "city"
                valueRole: "expenses"
            }
        }
    }

    ListModel {
        id: dataModel
        ListElement{ year: "2022"; city: "Oulu";     expenses: "4200"; }
        ListElement{ year: "2022"; city: "Rauma";    expenses: "2100"; }
        ListElement{ year: "2022"; city: "Helsinki"; expenses: "7040"; }
        ListElement{ year: "2022"; city: "Tampere";  expenses: "4330"; }
        ListElement{ year: "2023"; city: "Oulu";     expenses: "3960"; }
        ListElement{ year: "2023"; city: "Rauma";    expenses: "1990"; }
        ListElement{ year: "2023"; city: "Helsinki"; expenses: "7230"; }
        ListElement{ year: "2023"; city: "Tampere";  expenses: "4650"; }
    }
}

Bar3DSeries,ItemModelBarDataProxy,Scatter3DNode,Surface3DNode,Qt Graphs C++ Classes for 3Dも参照してください

プロパティの説明

aspectRatio : real

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

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

horizontalAspectRatioも参照してください


barSeriesMargin : size

XおよびZ寸法における系列列間のマージン。デフォルトでは(0.0, 0.0) に設定されている。適切な値は [0,1] の範囲。


barSpacing : size

X および Z 次元におけるバーの間隔。

デフォルトでは(1.0, 1.0) に設定されている。間隔はbarSpacingRelative プロパティの影響を受けます。


barSpacingRelative : bool

スペーシングが絶対的か、バーの太さに対する相対的か。

true の場合、0.0 の値はバーが横並びに配置されることを意味し、1.0 はバー間にバーの太さと同じ幅のスペースが空けられることを意味します。プリセットはtrue


barThickness : real

X寸法とZ寸法のバーの太さの比率。値1.0 は、 バーの幅が深 さ と 同 じ にな る こ と を意味 し 、0.5 は、 バーの幅が深 さ の 2 倍にな る こ と を意味 し ます。


columnAxis : Category3DAxis

アクティブな列軸。

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


customItemList : list<Custom3DItem>

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


floorLevel : real

Y 軸データ座標での棒グラフのフロアレベル。

実際のフロアレベルは、Y軸の最小値と最大値によって制限されます。デフォルトはゼロ。


gridLineType : Graphs3D.GridLineType

グリッド線のタイプをGraphs3D.GridLineType.Shader またはGraphs3D.GridLineType.Geometry のいずれにするかを定義します。

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

Graphs3D.GridLineTypeも参照してください


horizontalAspectRatio : real

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

注 : barThicknessbarSpacing プ ロパテ ィ を通 じ て水平面上の拡縮を扱 うBars3DNode には影響 し ません。極座標グラフもこのプロパティを無視します。

aspectRatio,polar,Bars3DNode::barThickness, およびBars3DNode::barSpacingも参照してください


labelMargin : real

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

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

QAbstract3DAxis::labelAutoAngleも参照


locale : locale

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

Value3DAxis::labelFormatも参照


margin : real

margin(余白) グラフ描画可能領域の端とグラフ背景の端の間に残された余白の絶対値。

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

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

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


multiSeriesUniform : bool

複数の系列が表示されている場合でも、単一の系列バーに設定された比率でバーを拡大縮小するかどうかを定義する。true に設定すると、bar spacing は X 軸にのみ正しく適用されます。デフォルトではfalse に設定されている。


optimizationHint : Graphs3D.OptimizationHint

レンダリングの最適化にデフォルトモードとレガシーモードのどちらを使用するかを指定します。

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

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

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


polar : bool

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

デフォルトはfalse

radialLabelOffsetも参照


primarySeries : Bar3DSeries

グラフの主系列。ラベルが軸に明示的に設定されていない場合に、行軸と列軸のラベルを決定するために使用される。

指定された系列がまだグラフに追加されていない場合、それを主系列として設定すると、暗黙的にグラフにも追加される。

主系列自体がグラフから削除されると、このプロパティはデフォルトにリセットされる。

系列がNULLの場合、このプロパティはデフォルトにリセットされる。デフォルトは、最初に追加された系列か、グラフに系列が追加されていない場合はゼロである。


queriedGraphPosition : vector3d [read-only]

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

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

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

Scene3D::graphPositionQueryも参照のこと


radialLabelOffset : real

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

polarも参照してください


rowAxis : Category3DAxis

アクティブな行軸。

軸が与えられない場合、ラベルのない一時的なデフォルト軸が作成されます。この一時軸は、別の軸が明示的に同じ方向に設定されると破棄されます。


selectedElement : Graphs3D.ElementType [read-only]

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

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

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

selectedLabelIndex(),selectedAxis(),selectedCustomItemIndex(),selectedCustomItem(),Bars3DNode::selectedSeries,Scatter3DNode::selectedSeries,Scene3D::selectionQueryPosition,Graphs3D.ElementTypeも参照のこと


selectedSeries : Bar3DSeries [read-only]

null selectionMode に フラグが設定されている場合、このプロパティは選択されたバーを所有する系列を保持する。SelectionMultiSeries


selectionMode : Graphs3D.SelectionMode

グラフのアクティブな選択モード。graphs3d.selectionflag 列挙値のいずれか。


seriesList : list<Bar3DSeries> [default]

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


theme : GraphsTheme

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

GraphsThemeも参照


valueAxis : ValueAxis3D

アクティブな値軸。

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


シグナル ドキュメント

barSeriesMarginChanged(size margin)

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

メモ: 対応するハンドラはonBarSeriesMarginChanged です。


barSpacingChanged(size spacing)

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

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


barSpacingRelativeChanged(bool relative)

このシグナルはbarSpacingRelativerelative に変更されたときに発せられる。

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


barThicknessChanged(real thicknessRatio)

このシグナルはbarThicknessthicknessRatio に変更されたときに発せられる。

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


columnAxisChanged(Category3DAxis axis)

このシグナルはcolumnAxisaxis に変更されたときに発せられる。

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


floorLevelChanged(real level)

このシグナルはfloorLevellevel に変更されたときに発せられる。

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


multiSeriesUniformChanged(bool uniform)

このシグナルはmultiSeriesUniformuniform に変更されたときに発せられる。

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


primarySeriesChanged(Bar3DSeries series)

このシグナルはprimarySeriesseries に変更されたときに発せられる。

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


rowAxisChanged(Category3DAxisaxis)

このシグナルは、rowAxisaxis に変更されたときに発せられる。

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


selectedSeriesChanged(Bar3DSeries series)

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

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


valueAxisChanged(ValueAxis3D axis)

このシグナルはvalueAxisaxis に変更されたときに発せられる。

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


メソッドの説明

qsizetype addCustomItem(Custom3DItem item)

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

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

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


void addSeries(Bar3DSeries series)

グラフにseries を追加する。グラフは複数の系列を含むことができるが、軸は1セットのみであるため、可視化されたデータが意味を持つためには、すべての系列の行と列が一致していなければならない。グラフに複数の可視系列がある場合、軸にラベルが明示的に設定されていない場合は、最初に追加された系列だけが軸の行ラベルまたは列ラベルを生成する。新しく追加された系列が選択されたバーを指定している場合は、そのバーが強調表示され、既存の選択はクリアされます。アクティブな選択を持つことができるのは、追加された 1 つの系列だけです。

GraphsNode::hasSeries()も参照


void clearSelection()

追加されたすべての系列から選択をクリアします。


void doPicking(QPoint point)

point 、グラフの要素上のビュー座標を使用してピッキングを実行し、最初にヒットした項目を選択します。デフォルトの入力処理は、onTapped イベントを受信したときにこれを実行します。

selectedElementも参照してください


void doRayPicking(QVector3D origin, QVector3D direction)

origindirection からグラフの要素に対してピッキングを実行し、最初にヒットしたアイテムを選択します。

selectedElement参照して ください。


bool hasSeries(Abstract3DSeries series)

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


void insertSeries(int index, Bar3DSeries series)

series を系列リストのindex の位置に挿入する。series がすでにリストに追加されている場合は、新しいindex に移動する。

注意: 古いインデックスの後にある新しいindex に系列を移動させる場合、リスト内の新しい位置は、その系列がまだ古いインデックスにあるものとして計算されるため、最終的なインデックスは、実際にはindex を1つ減じたものになります。

GraphsNode::hasSeries()も参照のこと


void releaseCustomItem(Custom3DItem item)

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

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

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


void removeCustomItem(Custom3DItem item)

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


void removeCustomItemAt(vector3d position)

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


void removeCustomItems()

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


void removeSeries(Bar3DSeries series)

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

GraphsNode::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参照


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.