QWT绘制巴图

这篇博客介绍了如何使用QWT库创建一个自定义的直方图,包括设置颜色、标题和坐标轴。示例代码展示了如何实现直方图的绘制,包括分配颜色、设置标签和调整图表布局。此外,还提供了设置直方图方向、间距和边缘距离的方法。
摘要由CSDN通过智能技术生成

头文件

#include "qtheader_file.h"



class DistroChartItem; 


typedef  struct BarData   
{  
    QString distro;  
    int hits;  
    QColor color;  


}BAR_DATA;


class CBartlePlot : public QwtPlot
{
    Q_OBJECT
public:
    CBartlePlot(QWidget *parent,int nsize,QVector<double> &vtvalue,QVector<QString> &vtname);
    ~CBartlePlot();

private:   
    void CBartlePlot::setOrientation( int o );
    DistroChartItem *d_barChartItem;//自定义直方图类  
    QStringList d_distros;//改变方向重置标题用  
    BAR_DATA *m_data;

};

#include "cbartleplot.h"


******************************/
class DistroScaleDraw: public QwtScaleDraw  
{  
public:  
    DistroScaleDraw( Qt::Orientation orientation, const QStringList &labels ):  
        d_labels( labels )  
    {  
        //设置坐标轴刻度线的长度
        setTickLength( QwtScaleDiv::MinorTick, 0 );  
        setTickLength( QwtScaleDiv::MediumTick, 0 );  
        setTickLength( QwtScaleDiv::MajorTick, 10 );  


        //不显示刻度线坐落的部件
        enableComponent( QwtScaleDraw::Backbone, false );  
        //标签显示的样式
        setLabelAlignment( Qt::AlignLeft  | Qt::AlignVCenter);  
    }  


    //刻度标签值  
    virtual QwtText label( double value) const  
    {  
        QwtText lbl;  


        const int index = qRound( value );//四舍五入  
        if ( index >= 0 && index < d_labels.size() )  
        {  
            lbl = d_labels[ index ];  
        }  
        return lbl;  
    }  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值