Visão geral React Linear Gauge

    O componente de medidor linear Ignite UI for React permite visualizar dados na forma de um medidor linear. O IgrLinearGauge fornece uma visão simples e concisa de um valor comparado a uma escala e um ou mais intervalos. Ele suporta uma escala, um conjunto de marcas de escala e um conjunto de rótulos. O componente também tem um suporte integrado para transições animadas. Esta animação é facilmente personalizável definindo a propriedade transitionDuration. Os recursos do componente de medidor linear incluem orientação e direção configuráveis, elementos visuais configuráveis, como a agulha, e muito mais.

    React Linear Gauge Example

    O exemplo a seguir demonstra como definir várias propriedades no mesmo IgrLinearGauge pode transformá-lo em um medidor linear completamente diferente.

    Dependencies

    Ao instalar o componente React gauge, o pacote principal também deve ser instalado.

    npm install --save igniteui-react-core
    npm install --save igniteui-react-gauges
    

    Component Modules

    O IgrLinearGauge requer os seguintes módulos:

    import { IgrLinearGaugeModule } from 'igniteui-react-gauges';
    
    IgrLinearGaugeModule.register();
    

    Usage

    O código a seguir demonstra como criar um medidor linear contendo uma agulha e três faixas comparativas na escala.

     <IgrLinearGauge width="700px"
                       height="30px"
                       minimumValue = {5}
                       maximumValue = {55}
                       value = {43}>
        <IgrLinearGraphRange startValue={0}
                                endValue={15}
                                brush="red"/>
        <IgrLinearGraphRange startValue={15}
                                endValue={30}
                                brush="yellow"/>
        <IgrLinearGraphRange startValue={30}
                                endValue={55}
                                brush="green"/>
     </IgrLinearGauge>
    

    Needle

    Esta é a medida principal exibida pelo componente de medidor linear e é visualizada como uma barra ou você pode personalizá-la para mostrar quase qualquer formato, conforme demonstrado abaixo.

     <IgrLinearGauge
        height="80px" width="400px"
        minimumValue={0}
        maximumValue={100} interval={10}
        value={50}
        isNeedleDraggingEnabled={true}
        needleShape="Custom"
        needleBrush="DodgerBlue"
        needleOutline="DodgerBlue"
        needleStrokeThickness={1}
        needleBreadth={15}
        needleInnerExtent={0.35}
        needleOuterExtent={0.65}
        needleOuterPointExtent={0.8}
        needleInnerPointExtent={0.325}
        needleInnerPointWidth={0}
        needleOuterPointWidth={0.3}
        needleInnerBaseWidth={0}
        needleOuterBaseWidth={0.07} />
    

    Highlight Needle

    O medidor linear pode ser modificado para mostrar uma segunda agulha. Isso fará com que o value da agulha principal apareça com uma opacidade menor. Para habilitar isso, primeiro defina highlightValueDisplayMode como Overlay e, em seguida, aplique um highlightValue.

    <IgrLinearGauge
        height="80px"
        width="100%"
        value={75}
        minimumValue={0} 
        maximumValue={100} 
        interval={10}
        labelInterval={10}
        labelExtent={0.025}
        labelsPreTerminal={0}
        labelsPostInitial={0}
        needleBrush='blue'
        highlightValueDisplayMode="Overlay"
        highlightValue={25} 
        isHighlightNeedleDraggingEnabled={true}
        />
    

    Ranges

    Os intervalos são elementos visuais que destacam um intervalo especificado de valores em uma escala. Seu propósito é comunicar visualmente o estado qualitativo da medida da barra de desempenho, ilustrando ao mesmo tempo o grau em que ela reside dentro desse estado.

    <IgrLinearGauge
        height="80px" width="400px"
        minimumValue={0} value={50}
        maximumValue={100} interval={10}
        rangeBrushes="#a4bd29, #F86232"
        rangeOutlines="#a4bd29, #F86232" >
        <IgrLinearGraphRange
            startValue={0} endValue={50}
            innerStartExtent={0.075} innerEndExtent={0.075}
            outerStartExtent={0.25} outerEndExtent={0.4} />
        <IgrLinearGraphRange
            startValue={50} endValue={100}
            innerStartExtent={0.075} innerEndExtent={0.075}
            outerStartExtent={0.4} outerEndExtent={0.55} />
    </IgrLinearGauge>
    

    Tick Marks

    As marcas de verificação servem como uma divisão visual da escala em intervalos para aumentar a legibilidade do medidor linear.

    Marcas de escala principais – As marcas de escala principais são usadas como delimitadores primários na escala. A frequência em que aparecem, suas extensões e estilo podem ser controlados definindo suas propriedades correspondentes.

    Marcas de verificação menores – As marcas de verificação menores representam marcas de verificação auxiliares, que podem ser usadas para melhorar ainda mais a legibilidade da escala e podem ser personalizadas de forma semelhante às principais.

    <IgrLinearGauge
        height="80px" width="400px"
        minimumValue={0} value={50}
        maximumValue={100}
        interval={10}
        tickBrush="DodgerBlue"
        ticksPreTerminal={0}
        ticksPostInitial={0}
        tickStrokeThickness={2}
        tickStartExtent={0.25}
        tickEndExtent={0.05}
        minorTickCount={4}
        minorTickBrush="DarkViolet"
        minorTickEndExtent={0.05}
        minorTickStartExtent={0.15}
        minorTickStrokeThickness={1} />
    

    Labels

    As etiquetas indicam as medidas na escala.

    <IgrLinearGauge
        height="80px" width="400px"
        minimumValue={0} value={50}
        maximumValue={100} interval={10}
        labelInterval={10}
        labelExtent={0.025}
        labelsPreTerminal={0}
        labelsPostInitial={0}
        fontBrush="DodgerBlue"
        font="11px Verdana" />
    

    Backing

    O elemento de apoio representa o fundo e a borda do componente de calibre linear. Ele é sempre o primeiro elemento renderizado e todos os outros elementos, como rótulos e marcas de escala, são sobrepostos a ele.

    <IgrLinearGauge
        height="80px" width="400px"
        minimumValue={0} value={50}
        maximumValue={100} interval={10}
        backingBrush="#bddcfc"
        backingOutline="DodgerBlue"
        backingStrokeThickness={4}
        backingInnerExtent={0}
        backingOuterExtent={1} />
    

    Scale

    A escala é um elemento visual que destaca toda a gama de valores no medidor linear. Você pode personalizar a aparência e o formato da escala. Ela também pode ser invertida (usando a propriedade isScaleInverted) e todos os rótulos serão renderizados da direita para a esquerda em vez da esquerda para a direita.

    <IgrLinearGauge
        height="80px" width="400px"
        minimumValue={0} value={50}
        maximumValue={100} interval={10}
        isScaleInverted={false}
        scaleBrush="DodgerBlue"
        scaleOutline="DarkViolet"
        scaleStrokeThickness={1}
        scaleInnerExtent={0.05}
        scaleOuterExtent={0.65}
        scaleStartExtent={0.05}
        scaleEndExtent={0.95} />
    

    Summary

    Para sua conveniência, todos os trechos de código acima são combinados em um bloco de código abaixo que você pode copiar facilmente para seu projeto e ver o medidor linear com todos os recursos e visuais habilitados.

    <IgrLinearGauge
        height="80px" width="400px"
        minimumValue={0}
        maximumValue={100}
    
        labelInterval={10}
        labelExtent={0.025}
        labelsPreTerminal={0}
        labelsPostInitial={0}
        fontBrush="Black"
        font="11px Verdana"
    
        interval={10}
        tickBrush="Black"
        ticksPreTerminal={0}
        ticksPostInitial={0}
        tickStrokeThickness={2}
        tickStartExtent={0.25}
        tickEndExtent={0.05}
    
        minorTickCount={4}
        minorTickBrush="Black"
        minorTickEndExtent={0.05}
        minorTickStartExtent={0.15}
        minorTickStrokeThickness={1}
    
        value={50}
        isNeedleDraggingEnabled={true}
        needleShape="Custom"
        needleBrush="Black"
        needleOutline="Black"
        needleStrokeThickness={1}
        needleBreadth={15}
        needleInnerExtent={0.35}
        needleOuterExtent={0.65}
        needleOuterPointExtent={0.8}
        needleInnerPointExtent={0.325}
        needleInnerPointWidth={0}
        needleOuterPointWidth={0.3}
        needleInnerBaseWidth={0}
        needleOuterBaseWidth={0.07}
    
        isScaleInverted={false}
        scaleBrush="Gray"
        scaleOutline="Gray"
        scaleStrokeThickness={1}
        scaleInnerExtent={0.05}
        scaleOuterExtent={0.65}
        scaleStartExtent={0.05}
        scaleEndExtent={0.95}
    
        backingBrush="#cecece"
        backingOutline="#cecece"
        backingStrokeThickness={4}
        backingInnerExtent={0}
        backingOuterExtent={1}
    
        rangeBrushes ="#C62828, #F96232, #FF9800"
        rangeOutlines="#C62828, #F96232, #FF9800">
        <IgrLinearGraphRange
            startValue={0} endValue={50}
            innerStartExtent={0.075} innerEndExtent={0.075}
            outerStartExtent={0.25} outerEndExtent={0.4} />
        <IgrLinearGraphRange
            startValue={50} endValue={100}
            innerStartExtent={0.075} innerEndExtent={0.075}
            outerStartExtent={0.4} outerEndExtent={0.55} />
    </IgrLinearGauge>
    

    API References

    A seguir está uma lista de membros da API mencionados nas seções acima:

    Additional Resources

    Você pode encontrar mais informações sobre outros tipos de medidores nestes tópicos: