QwtPolar Azimuth labels as text
Dear all,
First of all, thank you for this wonderful tool that is qwt. It is really nice to use it and it is plotting nice graphs.
I have a question regarding qwtpolar, that is probably easy to answer but I cannot figure out how to do.
I would like to use qwtpolar to make a radar chart but not with north south etc... I would like to put different values of a same object inside (can be 5 or 6 azimuth points for example).
For this, I need to remove the angle scale on azimuth axis to replace it by text scale (instead of 0, 30, 60 , ... I would like to have for example A1, A2, B1, C1 ....).
Is there a function to perform this or should I overload QwtRoundScaleDraw::label().
In the case I need to overload, could you please give me a minimal example? I would be very grateful.
Thank you very much
Re: QwtPolar Azimuth labels as text
I overloaded QwtRoundScaleDraw and it works.
Code:
AzimuthLabels::AzimuthLabels(const QList<QString>& azimLabels, const double & intervWidth):
m_azimLabels(azimLabels),
m_intervWidth(intervWidth)
{
}
QwtText AzimuthLabels
::label( double value
) const {
if(m_azimLabels.size() > 0)
{
if ( value == m_intervWidth * m_azimLabels.size() )
{
return m_azimLabels[0];
}
return m_azimLabels[value / m_intervWidth];
}
}