2017-11-10 3 views
0

BarCategoryAxisラベルとBarSeriesをカスタマイズする必要があります。正確にグリッドの下X Axisラベルを整列させる方法QMLでバーシリーズとBarCategoryAxisをカスタマイズする

import QtQuick 2.6 
import QtQuick.Window 2.2 
import QtQuick.Controls 2.0 
import QtCharts 2.2 

ApplicationWindow { 
    id: window 
    width: 640 
    height: 480 
    visible: true 

    ChartView { 
     id: chartview 
     width: parent.width 
     height: 300 

     BarSeries { 
      name: "BarSeries" 
      axisX: BarCategoryAxis { 
       id:barAxis 
       property int minCategory: 10 
       property int maxCategory: 100 
       property int category: 50 
       categories: ["10","20","30","40","50","60","70","80","90","100"] 


       min: Math.floor(((minCategory + sb.position * 
            (maxCategory - minCategory - category)) + 9)/10)*10 

       max: Math.floor((((minCategory + sb.position * 
            (maxCategory - minCategory - category)) + category) + 9)/10) *10 
      } 

      axisY: ValueAxis { 
       id:axisY 
       min: 0 
       max: 70 
       tickCount: 5 
       labelFormat: "%.0f" 
      } 

      BarSet { values: [2, 2, 3, 4, 5, 6,7] } 
      BarSet { values: [5, 1, 2, 4, 1, 7] } 
      BarSet { values: [3, 5, 8, 13, 5, 8] } 
     } 

    } 

    Slider { 
     id: sb 
     anchors { 
      bottom: parent.bottom 
      left: parent.left 
      right: parent.right 
     } 
     height: 30 
    } 
} 

1):以下のコードですか?現在、それは以下のように中心にある:

enter image description here

私はValueAxisと試みたが、それは正しくバーをプロットしませんが、ラベルが正確にグリッドの下になります。

2)現在、sliderはグラフを移動しますが、流動的ではありません。誰かがより良いアプローチを提案できますか?

答えて

0

1)の代わりにCategoryAxisを試しましたか?BarCategoryAxis、それは属性がlabelsPositionです。

2)まず、あなたはスライダースロット内のあなたの計算を行う必要があります

Slider { 
    onPositionChanged: { 
     barAxis.min = ... 
     barAxis.max = ... 
    } 
} 

その後、私はscrollRight(...)ようChartView機能を使用することをお勧め、それははるかにスムーズです。

+0

'CategoryAxis'は私の要求に合っていません。なぜなら、グラフはリアルタイムで動作するはずですし、カテゴリ範囲を与えるときに以前の値を見つけることは難しく、QTドキュメントでは' endValueがハイエンドカテゴリの制限。前のカテゴリの上限を超えていなければなりません。さもなければ、このメソッドは新しいカテゴリを追加せずに戻る。スクロールに関しては、私は 'scrollLeft'と' scrollRight'を提案してくれてありがとう – pra7

関連する問題