1

1)我的要求是Qml中chartview的Plotarea应该获得整个空间。2) 我不希望图表视图和绘图区域网格之间有间距。3)为此,我做了

margins.top: 0
margins.bottom: 0
margins.left: 0
margins.right: 0

4)这样做之后,网格和图表视图之间的间距仍然很小。5)然后我通过给x,y轴赋予负值并增加宽度和高度来做到这一点。

Rectangle
{
 width : 400
 height: 200
 clip:true

 ChartView
 {
  height: parent.height+42
  width: parent.width+51
  x:-32
  y:-15
  legend.visible:false
  margins.top: 0
  margins.bottom: 0
  margins.left: 0
  margins.right: 0
 }
   }

6)这样做后,它得到了适当的调整。7) 但是当我改变 Valueaxis(max) 时,它会再次链接它的位置。8)图表视图内的Valueaxis,有最小值最大值,如果max = 5那么它显示正确,如果我改变max = 10那么它正在改变它的位置,在某些值上它正确显示,在某些情况下它不是

ValueAxis
    {
      id:y_axis
      min: 0
      max: 5 // on 5 it's proper, if i change it to 10 grids position is changing
      tickCount: 4
      labelsVisible: false
    }

任何可能的解决方案?

4

1 回答 1

1

以下是如何做到这一点:

ChartView
 {
  height: parent.height+42
  width: parent.width+51
  x:-32
  y:-15
  legend.visible:false
  plotArea: Qt.rect(x, y, width, height)
 }

你强迫你plotArea处于相同的位置ChartView并且具有相同的尺寸。可能是Qt.rect(0, 0, width, height)。我没有用你的号码试过。我假设它是 0, 0 因为这是从parent ChartView.

于 2019-03-29T23:37:40.243 回答