精华内容
下载资源
问答
  • chartView.zip

    2020-07-26 15:13:38
    qml和C++混合编程自定义chartView曲线,曲线随时间从右向左依次移动动态移动,实时动态显示折线图的功能。
  • ChartView.zip

    2019-07-03 19:58:55
    ChartView介绍: 绘制曲线图,可以自适应水平或者垂直的屏幕方向。Demo中,绘制了正弦函数。   测试环境: Eclipse 4.2, Android 3.0 以上。 注意:测试环境并不代表适用环境。  
  • 该代码实现的功能有: 在qml 中,实现利用ChartView,进行直方图数据显示
  • Qt之ChartView

    2019-02-09 12:08:39
    1、ChartView与LineSeries搭配实现曲线局部缩放功能 https://blog.csdn.net/w54a3teg64c7bd/article/details/56843573 2、QLineSeries绘制动态曲线 ...

    1、ChartView与LineSeries搭配实现曲线局部缩放功能

    https://blog.csdn.net/w54a3teg64c7bd/article/details/56843573

    2、QLineSeries绘制动态曲线

    https://blog.csdn.net/a844651990/article/details/82706466

    展开全文
  • iOS 自定义折线图 ChartView ,DChartView 是个可定制的可用于任何演示的折线图,它可以用 CoreGraphics 构建,...
  • 该文件实现的功能有: 将C++ 生成的数据, 在QML 中进行曲线显示(ChartView)。
  • ChartView QML 类型翻译

    千次阅读 2016-07-23 00:46:29
    ChartView QML 类型翻译

    ChartView QML 类型翻译

    PS 貌似 Qt 的图表接口参照 c# 的~

    翻译: qyvlik

    属性

    • animationDuration : int

    • animationEasingCurve : easing

    • animationOptions : Animation

    • axes : list<AbstractAxis>

    • backgroundColor : color

    • backgroundRoundness : real

    • count : int

    • dropShadowEnabled : bool

    • legend : Legend

    • locale : locale

    • localizeNumbers : bool

    • margins : Margins

    • plotArea : rect

    • plotAreaColor : color

    • theme : Theme

    • title : string

    • titleColor : color

    • titleFont : Font

    信号

    • seriesAdded(AbstractSeries series)

    • seriesRemoved(AbstractSeries series)

    方法

    • Axis axisX(AbstractSeries series)

    • Axis axisY(AbstractSeries series)

    • AbstractSeries createSeries(SeriesType type, string name, AbstractAxis axisX, AbstractAxis axisY)

    • isZoomed()

    • point mapToPosition(point value, AbstractSeries series)

    • point mapToValue(point position, AbstractSeries series)

    • removeAllSeries()

    • removeSeries(AbstractSeries series)

    • scrollDown(real pixels)

    • scrollLeft(real pixels)

    • scrollRight(real pixels)

    • scrollUp(real pixels)

    • AbstractSeries series(string name)

    • AbstractSeries series(int index)

    • setAxisX(AbstractAxis axis, AbstractSeries series)

    • setAxisY(AbstractAxis axis, AbstractSeries series)

    • zoom(real factor)

    • zoomIn(rect rectangle)

    • zoomIn()

    • zoomOut()

    • zoomReset()

    详细描述

    ChartView 是多个不同类型图表实体的父级展示空间。

    如下代码展示了一个饼图:

    import QtQuick 2.0
    import QtCharts 2.0
    
    ChartView {
        width: 400
        height: 300
        theme: ChartView.ChartThemeBrownSand
        antialiasing: true
    
        PieSeries {
            id: pieSeries
            PieSlice { label: "eaten"; value: 94.9 }
            PieSlice { label: "not yet eaten"; value: 5.1 }
        }
    }

    这里写图片描述

    可以先参照如下的图:

    微软Chart属性学习

    这里写图片描述

    属性文档

    • animationDuration : int

      图表视图的动画时长。

    • animationEasingCurve : easing

      动画的类型,动画时间与输出数值的函数类型,例如二次贝塞尔。参照 Animation.easing 的属性组进行设置。

    • animationOptions : Animation

      图表视图的动画类选项。取值可能如下:

      • ChartView.NoAnimation

      • ChartView.GridAxisAnimations

      • ChartView.SeriesAnimations

      • ChartView.AllAnimations

    • axes : list<AbstractAxis>

      图表视图的多个轴。

    • backgroundColor : color

      图表视图的背景颜色,默认背景颜色和 ChartView.theme 所设置的一样。

    • backgroundRoundness : real

      背景圆角。

    • count : int

      图表视图中有几个图表。

    • dropShadowEnabled : bool

      图表视图的阴影。

    • legend : Legend

      图表视图的图例说明。可以通过 legend.visible 设置图例说明是否可见。legend.font 设置字体。详情请看 Legend

    • locale : locale

      本地化文本选项,例如数字之间是否要使用逗号隔开。

    • localizeNumbers : bool

      是否设置本地化文本。

    • margins : Margins

      定义内边距。边距内部是图表视图用来绘制标题,轴(坐标)和图例说明的。

    • plotArea : rect

      图表区大小。

    • plotAreaColor : color

      图表区颜色。

    • theme : Theme

      图表视图的主题设定。

      有如下值:

      • ChartView.ChartThemeBlueCerulean

      • ChartView.ChartThemeBlueIcy

      • ChartView.ChartThemeBlueNcs

      • ChartView.ChartThemeBrownSand

      • ChartView.ChartThemeDark

      • ChartView.ChartThemeHighContrast

      • ChartView.ChartThemeLight

      • ChartView.ChartThemeQt

    • title : string

      图表视图标题。

    • titleColor : color

      图表视图标题颜色。

    • titleFont : Font

      图表视图标题字体。

    信号文档

    • seriesAdded(AbstractSeries series)

      当有新的 series 添加到图表视图中时触发。

    • seriesRemoved(AbstractSeries series)

      当从图表视图中移除 series 时触发。

    方法文档

    • Axis axisX(AbstractSeries series)

      某个图表的 x 轴。

    • Axis axisY(AbstractSeries series)

      某个图表的 y 轴。

    • AbstractSeries createSeries(SeriesType type, string name, AbstractAxis axisX, AbstractAxis axisY)

      用来创建对应类型的图表。用法如下:

      // lineSeries is a LineSeries object that has already been added to the ChartView; re-use it's axes
      var myAxisX = chartView.axisX(lineSeries);
      var myAxisY = chartView.axisY(lineSeries);
      var scatter = chartView.createSeries(ChartView.SeriesTypeScatter, "scatter series", myAxisX, myAxisY);

      其中 SeriesType 有如下值:

      • ChartView.SeriesTypeArea

      • ChartView.SeriesTypeBar

      • ChartView.SeriesTypeBoxPlot

      • ChartView.SeriesTypeHorizontalBar

      • ChartView.SeriesTypeHorizontalPercentBar

      • ChartView.SeriesTypeHorizontalStackedBar

      • ChartView.SeriesTypeLine

      • ChartView.SeriesTypePercentBar

      • ChartView.SeriesTypePie

      • ChartView.SeriesTypeScatter

      • ChartView.SeriesTypeSpline

      • ChartView.SeriesTypeStackedBar

    • isZoomed()

      如果图表视图中任意一个图表实体被缩放或者放大,返回 true

    • point mapToPosition(point value, AbstractSeries series)

      将在图表视图上的点映射为图表实体上的点。

    • point mapToValue(point position, AbstractSeries series)

      将在图表实体上的点映射为图表视图上的点。

    • removeAllSeries()

      移除所有的图表实体。

    • removeSeries(AbstractSeries series)

      移除指定的图表实体。

    • scrollDown(real pixels)

      将图表视图内容向下滚动指定像素。

    • scrollLeft(real pixels)

      将图表视图内容向左滚动指定像素。

    • scrollRight(real pixels)

      将图表视图内容向右滚动指定像素。

    • scrollUp(real pixels)

      将图表视图内容向上滚动指定像素。

    • AbstractSeries series(string name)

      通过名字来获取图表实体。如果有同名,只返回第一个匹配的图表实体。

    • AbstractSeries series(int index)

      通过下标来获取图标实体。

    • setAxisX(AbstractAxis axis, AbstractSeries series)

      为图标实体设置 x 轴。

    • setAxisY(AbstractAxis axis, AbstractSeries series)

      为图标实体设置 y 轴。

    • zoom(real factor)

      设置缩放因子。默认为 1。有效值为 0.0 到 1.0。

    • zoomIn(rect rectangle)

      将视图放大到指定的 rect 范围。

    • zoomIn()

      放大视图。

    • zoomOut()

      缩小视图。

    • zoomReset()

      重置视图大小。

    展开全文
  • QML中ChartView的动态加载

    千次阅读 2018-11-22 23:35:42
    QML中chartView的部分用法QML中关于ChartView的引用1.默认安装的QT好像是不带QT Charts2.修改.pro文件3.修改main.c文件QML中ChartView的动态加载 QML中关于ChartView的引用 在使用Qt Creator中默认创建的QML工程是...

    QML中关于ChartView的引用

    在使用Qt Creator中默认创建的QML工程是没办法直接使用ChartView的,起码写下这些东西的时是这样的

    // 这是一个标准的main.c文件
    #include <QGuiApplication>
    #include <QQmlApplicationEngine>
    int main(int argc, char *argv[])
    {
        QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
        
        QGuiApplication app(argc, argv);
        QQmlApplicationEngine engine;
        engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
        if (engine.rootObjects().isEmpty())
            return -1;
    
        return app.exec();
    }
    

    如果想使用ChartView是需要对进行一些修改的

    1.默认安装的QT好像是不带QT Charts

    在这里插入图片描述
    请安装QT时勾选了QT Charts模块(这点存疑,本人在公司一直导入导入不了Charts模块,家里电脑直接可以用,对比发现可能是这里的问题)

    2.修改.pro文件

    就是修改你的工程文件,在其中的QT += charts,保证chart模块被引用你的工程
    在这里插入图片描述

    3.修改main.c文件

    如果不修改头文件,编译没问题,但运行后会报错崩溃

    //加入头文件
    #include <QGuiApplication>
    #include <QQmlApplicationEngine>
    #include <QApplication>//注意头文件
    int main(int argc, char *argv[])
    {
        QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
        
        QApplication   app(argc,argv);//这是第二个修改的地方
     // QGuiApplication app(argc, argv);
    
        QQmlApplicationEngine engine;
        engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
        if (engine.rootObjects().isEmpty())
            return -1;
    
        return app.exec();
    }
    

    然后你就可以在项目中使用ChartView了。在QML文件中如下使用就可以了

    import QtQuick 2.9
    import QtCharts 2.0
    ChartView {
            id:chart;
            width: 400
            height: 300
            theme: ChartView.ChartThemeBrownSand
            antialiasing: true
            animationOptions:ChartView.GridAxisAnimations
            LineSeries {
                id:myLine;
                name: "LineSeries"
                XYPoint { x: 0; y: 0 }
                XYPoint { x: 1.1; y: 2.1 }
                XYPoint { x: 1.9; y: 3.3 }
                XYPoint { x: 2.1; y: 2.1 }
                XYPoint { x: 9.9; y: 4.9 }
                XYPoint { x: 3.4; y: 3.0 }
                XYPoint { x: 4.1; y: 3.3 }
            }
        }
    

    QML中ChartView的动态加载

    这篇文章的重点就是这里,如果简单的效果使用如上代码就好了,实际中我们的数据基本都是在程序运行中动态获得的,界面上可能有若干个图表表示不同项目,每个图表又有若干根线表示不同类型。
    在这里插入图片描述

    1. 图表的插入
      如果在代码中自由的生成不同数目的图表,有多种方法,这里就只说下我现在项目中用到的Repeater组件,顾名思义它的作用就是起到一个控件的复制作用
      Column {
            anchors.fill: parent;
            Repeater{
                model: 3;
    
                ChartView {
                    title:"接收带宽"
    
                    width: parent.width
                    height: 200;
                    theme:ChartView.ChartThemeDark
                    antialiasing: true
                    animationOptions:ChartView.GridAxisAnimations
                    LineSeries {
                        id:myLine;
                        name: "终端1"
                        XYPoint { x: 0; y: 0 }
                        XYPoint { x: 1.1; y: 2.1 }
                        XYPoint { x: 1.9; y: 3.3 }
                        XYPoint { x: 2.1; y: 2.1 }
                        XYPoint { x: 2.9; y: 4.9 }
                        XYPoint { x: 3.4; y: 3.0 }
                        XYPoint { x: 4.1; y: 3.3 }
                    }
                    LineSeries {
                        id:myLine2;
                        name: "终端2"
                        XYPoint { x: 0; y: 8 }
                        XYPoint { x: 1.1; y: 5.1 }
                        XYPoint { x: 1.9; y: 1.3 }
                        XYPoint { x: 2.1; y: 4.1 }
                        XYPoint { x: 2.9; y: 4.9 }
                        XYPoint { x: 3.4; y: 4.0 }
                        XYPoint { x: 4.1; y: 2.3 }
                    }
                }
    
            }
        }
    

    这段代码实现的效果就是将ChartView 复制成了3份,用Column 的作用是让3个图表不要因为坐标一样而重合到一起
    在这里插入图片描述
    然后可以通过Repeater的 itemAt()函数获得某一个图表对象,进而操作图表,更多的Repeater操作暂时不在这里累述了

    1. 向图表中插入多根线条
      方法很简单
    var newLine = chart.createSeries(ChartView.SeriesTypeLine,"新增折线");
    

    然后通过

     for( var i=0;i<100;i++)
    {
       newLine.append(i,i);//向线条加点

    3.关于AbstractAxis
    如果你按我的例子尝试添加一条新的折线,你很惊奇的发现图表没有变化。你想看到的是这样的
    在这里插入图片描述
    但实际上是这样的
    在这里插入图片描述
    别着急,出现这个现象的原因就是AbstractAxis。这个东西怎么说了,可以认为是一个刻度尺用来表示图表的X轴和Y轴的范围。 ChartView有两个函数分别是axisX()和axisY(),用来获得某根折线x轴和y轴的显示范围。让我们在看看我给出的图表例子

    ChartView {
                 title:"接收带宽"
    
                 width: parent.width
                 height: 200;
                 theme:ChartView.ChartThemeDark
                 antialiasing: true
                 animationOptions:ChartView.GridAxisAnimations
                 LineSeries {
                     id:myLine;
                     name: "终端1"
                     XYPoint { x: 0; y: 0 }
                     XYPoint { x: 1.1; y: 2.1 }
                     XYPoint { x: 1.9; y: 3.3 }
                     XYPoint { x: 2.1; y: 2.1 }
                     XYPoint { x: 2.9; y: 4.9 }
                     XYPoint { x: 3.4; y: 3.0 }
                     XYPoint { x: 4.1; y: 3.3 }
                 }
                 LineSeries {
                     id:myLine2;
                     name: "终端2"
                     XYPoint { x: 0; y: 8 }
                     XYPoint { x: 1.1; y: 5.1 }
                     XYPoint { x: 1.9; y: 1.3 }
                     XYPoint { x: 2.1; y: 4.1 }
                     XYPoint { x: 2.9; y: 4.9 }
                     XYPoint { x: 3.4; y: 4.0 }
                     XYPoint { x: 4.1; y: 2.3 }
                 }
             }
    

    在这个例子中图表的默认axisX和axisY的最大值分别是4.1和5.1,也就是这条线的x轴和y轴的最大值 。当你尝试添加一条新折线然后加了一堆的点的时候,图表的X轴和Y轴的最大刻度没有重新设定,超出这个范围的点是无法被显示的
    为了解决这个问题我们先看看axisX和axisY的属性

     ChartView {
          ValueAxis {
              id: xAxis
              min: 0
              max: 10
          }
      // Add a few series...
      }
    

    如你所遇见这是一个很简单的对象,用来表示一个取值范围。我们可以通过设定某根线的axisX和axisY的max的值来重新为ChartView设定显示范围

    for( var i=0;i<100;i++)
    {
        newLine.append(i,i);//向线条加点
    }
     chart.series(1).axisX.max = 100;
     chart.series(1).axisY.max = 100;
    

    做完这些你就可以在QML中任意的添加图表、折线了,其他的删除、修改什么的可以通过调用对应的函数获得对象然后一步一步的完成,最麻烦的就是关于AbstractAxis的设定了。

    展开全文
  • 这是用Telerik ChartView设计的股票数据采集及分析软件,目前只完成了数据的采集和图形呈现,还没有加入分析功能,采集功能:从网上下载股票数据转换成Excel,导入系统,同时系统根据当前股票交易时间在设定后自动从...
  • <p><strong>If you would like to help and participate in the new version you are very welcomed</strong> you can find project related tasks <a href="https://github.com/AppPear/ChartView/projects/2#...
  • 在使用 QML 显示 Chart 的时候,使用了 ChartView ,新建了默认的 Qt Quick 工程,粘贴 Qt 文档中 ChartView 的例子,粘贴后编译通过了,然后,程序崩溃!  经过一番百度之后。发现, 在使用 ChartView 的时候,...

      环境:Windows 7 旗舰版 64 位 ,Qt 5.8 for android !

    在使用 QML 显示 Chart 的时候,使用了 ChartView ,新建了默认的 Qt Quick 工程,粘贴 Qt 文档中 ChartView 的例子,粘贴后编译通过了,然后,程序崩溃!

      经过一番百度之后。发现, 在使用 ChartView 的时候,pro 工程文件中需要加入 QT += charts 。然后 main 函数中不能使用 QGuiApplication,需要使用 QApplication 才行,二者缺一不可,否则会导致程序莫名的崩溃而不会报告错误!

      Qt 官方文档中对 ChartView 的描述部分并没有指定添加  QT += charts,可能是忘记了吧,至于  QGuiApplication 和 QApplication 的区别,QApplication 作为前者的子类,可能实现了一些和 Chart 有关的东西,遇到了这个问题。在这里记下来,供诸位参考。

    转载于:https://www.cnblogs.com/hbrw/p/7484758.html

    展开全文
  • 使用报错 传送门 范例 Item{ id:view_Item anchors.top: quit_Item.bottom width: parent.width height: parent.height - 30 ... ChartView{ id:tgp_Chart x: 130 y: 40 anchors.fill: parent
  • m having some troubles with figuring out how to pass data points to ChartView element in real time. Can you explain how to pass point coordinates to ChartView from react-native body? <p>For example, ...
  • The scalarInputSensor gets a onNewData, that then goes into ScalarSensor with then does an addPoint at the ChartController and from there it goes into the ChartView via addPointtoEndOfPath. I'm ...
  • <p>On iPhone 4s, looks like the ChartModel is greater than the ChartView, and chart view is clipping the bottom of the chart. <p>The same code works well on other newer devices. I'm not sure if it...
  • 在qml中使用ChartView时,MouseArea出现覆盖未找到解决方案. ChartView { width: parent.width height: parent.height antialiasing:true backgroundColor:"black" /*图例*/ legend.visible: false /...
  • QML ChartView 折线图缩放 移动 截图

    千次阅读 2018-10-09 18:28:20
    最近使用QML 提供的ChartView LineSeries控件实现了数据折线图 QT版本:Qt5.9.6 功能点: 1.点击界面open按钮可以选取文件,之后自动解析数据,获取需要显示的数据点 2.数据以折线图方式显示 3.鼠标滚轮上下可缩放...
  • 在用qml的 ChartView控件编写折线图,想实时更新数据,每秒一个新的数据,但当数据到达ValueAxis的max值之后,更新数据会出现横坐标轴的更新,数值会从0处不断的滑动至相应位置 ,我的理想需求是,仅仅数值变,横...
  • Qt QML代码中添加ChartView程序崩溃问题解决 pro文件种已经添加charts模块 QT += quick charts 程序运行崩溃。 解决方法: 把main.cpp函数中, QGuiApplication app(argc, argv); 改成 QApplication app(argc...
  • 有时候项目需要自定义Series时,就需要使用Qt.createComponent来创建,使用该方法创建的Series通过属性横纵坐标(axisX、axisY)或...因为无法匹配坐标,应该使用ChartView中的setAxisX、setAxisY来匹配Series的坐标。
  • QML中使用ChartView,程序运行时报错如下图 应用程序输出栏会输出: ASSERT: "!"No style available without QApplication!"" in file kernel\qapplication.cpp, line 1065   解决方法: ...
  • 效果图: 上一篇文章实现的时候还不知道有QtChart这个模块......好好看了下资料就想做个例子实现一下这功能,比较了下代码量...恩,直接看代码: Rectangle { id: view_rect ... ChartView { ...
  •   在使用ChartView的时候,按照官方的文档,使用text editor进行编辑时,有如下代码: ChartView { legend.visible: false }   此时会报错:““legend does not have members(M17)””,但是运行时却没有受...
  • 先上图实现 因为本次需求中只有柱状图和扇形图的需求,所以本次示例将两种类型的图放在了一个view里,先看看自定义属性<declare-styleable name="ChartView"> <attr name="textSize" format="dimension" />
  • 详细文档翻译连接:http://blog.csdn.net/qyvlik/article/details/52001754 PS:本文为本人测试了多少属性就写多少所以肯定不完整 ChartView的一些属性的解释(有些属性测了也不清楚有什么用的就没办法了)
  • 今天使用QML的ChartView进行绘制图表的时候出现了以上错误,Qt Forum上的这个问题两年前都有人遇到了,现在都没有人给出答案,不知那个老外最后怎么解决了,今天把例子敲打出来后决定写个东西,以免以后再次遇到还得...
  • Android自定义图表:ChartView

    千次阅读 2016-06-27 16:44:06
    效果图 Design images : View Code:/** * Created by JackWaiting on 2016/6/24. */ public class CharView extends View { private Paint mRowLinePaint,mColLinePaint; //横线、竖线的画笔 ...
  • 这个实例是对折线图,柱状图,饼图的,希望对广大朋友有所帮助,有什么问题可以联系我。。。。。。。。。。。。

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 273
精华内容 109
关键字:

chartview