Jump to content
ACosta

Microsoft Chart, Como usar duas escalas(eixos Y) diferentes

Recommended Posts

ACosta

Bons dias,

Preciso novamente da vossa ajuda.

Tenho um programa em VB.NET em que uso o Microsoft Chart para a elaboração do gráfico.

No meu gráfico, que está em pleno funcionamento e os valores são obtidos directamente da base dados, tenho valores de temperaturas e de pressões em que os valores das temperaturas andam na ordem das 100 a 200 e os valores das pressões andam entre o 0 e 10.

Isto é, como tenho apenas uma escala (eixo Y), os valores mais pequenos(da pressão) as variações não se notam muito porque a escala está muito grande por causa dos valores da temperatura.

A minha questão é, existe alguma forma de ter duas escalas diferentes no mesmo gráfico? uma escala na esquerda e outra na direita do gráfico por exemplo, onde depois poderia definir nas series a que escala pertenciam.

Espero que me tenha feito entender e que posso ajudar.

Obrigado,

António Costa

Share this post


Link to post
Share on other sites
cdaniel.marques

Vê se isto ajuda:

Considerando uma séria chamada Student

Chart1.Series.Add("Student") 'Adiciona séria ao Controlo Chart
'Adiciona os pontos
Chart1.Series("Student").Points.AddXY("Jon", 10)
Chart1.Series("Student").Points.AddXY("Jordan", 30)
Chart1.Series("Student").Points.AddXY("Yen", 40)
Chart1.Series("Student").Points.AddXY("Nick", 20)

E no fim

'Define como eixo secundário
Chart1.Series("Student").YAxisType = DataVisualization.Charting.AxisType.Secondary

Se ajudar, podes encontrar informção mais detalhada na documentação no MSDN em:

http://msdn.microsoft.com/en-us/library/dd489216.aspx

Nomeadamente, uma tabela com as várias formas de posicionar as séries (esquerda, direita, cima ou baixo).

Edited by cdaniel.marques

Share this post


Link to post
Share on other sites
ACosta

Encontrei este pequeno pedaço de código na net que me ajudou bastante:

chrtMain.Series(0).YAxisType = AxisType.Primary
chrtMain.Series(1).YAxisType = AxisType.Secondary

chrtMain.ChartAreas(0).AxisY2.LineColor = Color.Transparent
chrtMain.ChartAreas(0).AxisY2.MajorGrid.Enabled = False
chrtMain.ChartAreas(0).AxisY2.Enabled = AxisEnabled.True
chrtMain.ChartAreas(0).AxisY2.IsStartedFromZero = chrtMain.ChartAreas[0].AxisY.IsStartedFromZero

o link que o cdaniel.marques disse também tem informação muito util. ;)

conclusão o chart da microsoft (gráfico) permite ter dois eixos (primário e secundário) tanto para o eixoX como para o eixoY .

O que fiz foi ajustar as definições dos eixos à minha medida e associar as series ao eixoY primário ou secundário consoante a escala que quero.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.