Estou testando o código de exemplo para Chart.js fornecido na documentação .
A largura e a altura são especificadas em linha no elemento da tela em 400px / 400px.
Mas, ao renderizar o gráfico, ele é ampliado para a largura da página inteira e corta a extremidade direita.
Como / onde devo controlar a largura / altura do gráfico?
This is some bogus text because SO prohibits linking to Codepen otherwise.
maintainAspectRatio: false
tornou o gráfico visível. Mas ainda cortando o lado direito. Atingir esse tipo de problema já com seu próprio código de exemplo básico me faz pensar se chart.js é uma boa aposta. (O lado direito ainda está cortado ...)maintainAspectRatio
realmente me ajuda.Você também pode simplesmente circundar o gráfico com o contêiner (de acordo com o documento oficial http://www.chartjs.org/docs/latest/general/responsive.html#important-note )
CSS
e com opções
fonte
!important
no projeto AngularNo meu caso, passar
responsive: false
por opções resolveu o problema. Não sei por que todo mundo está dizendo para você fazer o oposto, especialmente porque true é o padrão.fonte
responsive: true
distorceu completamente a aparência do gráfico.!important
no meu projeto AngularFunciona para mim também
Obrigado
fonte
Não posso acreditar que ninguém falou sobre o uso de um elemento pai relativo.
Código:
Fontes: documentação oficial
fonte
Não mencionado acima, mas usar
max-width
oumax-height
no elemento canvas também é uma possibilidade.fonte
O abaixo funcionou para mim - mas não se esqueça de colocar isso no parâmetro "opções".
fonte
Isso ajudou no meu caso:
fonte
Você pode alterar o de
aspectRatio
acordo com suas necessidades:options:{ aspectRatio:4 //(width/height) }
fonte
4
não é uma proporção de aspecto. Seu comentário diz,(width/height)
mas não está claro como isso deve ser aplicado. Existe uma maneira de passar isso como um conjunto? Ou você literalmente quer dizer dividir a largura proposta pela altura proposta, de modo que, por exemplo, 3: 4 se torne0.75
?Use isso, funciona bem.
e abaixo
options
,fonte