10 Data Visualization
概述
三维柱状图
QWidget *graphContainer= QWidget::createWindowContainer(graph3D);//图表的容器
Q3DBars *graph3D= new Q3DBars(); //图表
graph3D->scene()->activeCamera()->setCameraPreset(Q3DCamera::CameraPresetFrontHigh); //设置视角QValue3DAxis *axisV=new QValue3DAxis; //数值坐标axisV->setTitle("value");axisV->setTitleVisible(true);QCategory3DAxis *axisRow=new QCategory3DAxis;graph3D->setValueAxis(axisV);
graph3D->setRowAxis(axisRow);QBar3DSeries *series= new QBar3DSeries; //序列
series->setMesh(QAbstract3DSeries::MeshCylinder);
series->setItemLabelFormat("(@rowLabel,@colLabel): %.1f"); //项的标签显示格式
graph3D->addSeries(series);QBarDataArray *dataSet = new QBarDataArray; //数据代理
dataSet->reserve(rowLabs.count());
QBarDataRow *dataRow = new QBarDataRow;
*dataRow << 1 << 2<< 3<< 4<<5; //第1行数据,有5列
dataSet->append(dataRow);
series->dataProxy()->resetArray(dataSet);//图表的网格graph3D->activeTheme()->setGridEnabled(checked);
//柱状图的光滑性series->setMeshSmooth(checked);
//反射graph3D->setReflection(checked);
//轴标题graph3D->valueAxis()->setTitleVisible(checked);graph3D->rowAxis()->setTitleVisible(checked);graph3D->columnAxis()->setTitleVisible(checked);
//轴标签背景graph3D->activeTheme()->setLabelBackgroundEnabled(checked);
//Z轴反向graph3D->valueAxis()->setReversed(checked);
//图表的背景graph3D->activeTheme()->setBackgroundEnabled(checked);
//轴标签字体大小QFont font = graph3D->activeTheme()->font();font.setPointSize(arg1);graph3D->activeTheme()->setFont(font);
//设置主题Q3DTheme *currentTheme = graph3D->activeTheme();currentTheme->setType(Q3DTheme::Theme(index));
//设置序列柱状图的颜色QColor color=series->baseColor();color=QColorDialog::getColor(color);if (color.isValid())series->setBaseColor(color);
//项的标签series->setItemLabelFormat("value at (@rowLabel,@colLabel): %.1f");series->setItemLabelVisible(checked);
//棒图的样式QAbstract3DSeries::Mesh aMesh;aMesh=QAbstract3DSeries::Mesh(index);series->setMesh(aMesh);
//选择模式graph3D->setSelectionMode(QAbstract3DGraph::SelectionFlags(index));//变换视角Q3DCamera::CameraPreset cameraPos=Q3DCamera::CameraPreset(index);graph3D->scene()->activeCamera()->setCameraPreset(cameraPos);
//设置变换视角
graph3D->scene()->activeCamera()->setCameraPosition(xRot, yRot,zoom);
三维散点图
Q3DScatter *graph3D=new Q3DScatter();; //散点图
QScatter3DSeries *series=new QScatter3DSeries(proxy);//散点序列
QScatterDataProxy *proxy = new QScatterDataProxy(); //数据代理
series->setMeshSmooth(true);
graph3D->addSeries(series);
//创建坐标轴
graph3D->axisX()->setTitle("axis X");
graph3D->axisX()->setTitleVisible(true);QScatterDataArray *dataArray = new QScatterDataArray();
dataArray->resize(itemCount);
QScatterDataItem *ptrToDataArray = &dataArray->first();for(i=1,i<100,++i)
{ptrToDataArray->setPosition(QVector3D(x,z,y));ptrToDataArray++;
}
三维曲面图
#include <QtDataVisualization>
using namespace QtDataVisualization;QWidget* graphContainer=QWidget::createWindowContainer(graph3D);
Q3DSurface *graph3D= new Q3DSurface(); //三维图表//创建坐标轴
QValue3DAxis *axisX=new QValue3DAxis;
axisX->setTitle("Axis X");
axisX->setTitleVisible(true);
axisX->setRange(-11,11);
graph3D->setAxisX(axisX);QSurfaceDataProxy *proxy= new QSurfaceDataProxy();//数据代理
QSurface3DSeries* series= new QSurface3DSeries(proxy);//序列
series->setItemLabelFormat("(@xLabel @yLabel @zLabel)");
series->setMeshSmooth(true);
series->setDrawMode(QSurface3DSeries::DrawSurfaceAndWireframe);
graph3D->addSeries(series);//创建数据, 墨西哥草帽QSurfaceDataArray *dataArray = new QSurfaceDataArray; //数组dataArray->reserve(N);proxy->resetArray(dataArray);//渐变颜色按钮QLinearGradient grBtoY(0, 0, 100, 0); //线型渐变grBtoY.setColorAt(1.0, Qt::black);grBtoY.setColorAt(0.0, Qt::yellow);QPixmap pm(160, 20); //图片QPainter pmp(&pm);//画家pmp.setBrush(QBrush(grBtoY)); //渐变颜色1pmp.setPen(Qt::NoPen);pmp.drawRect(0, 0, 160, 20);ui->btnGrad1->setIcon(QIcon(pm));//渐变颜色按钮1//单一曲面颜色QColor color=series->baseColor();color=QColorDialog::getColor(color);if (color.isValid()){series->setBaseColor(color);series->setColorStyle(Q3DTheme::ColorStyleUniform);}//选择模式(如剖面图)
graph3D->setSelectionMode(QAbstract3DGraph::SelectionSlice);
//曲面样式(入是否是框架图)
series->setDrawMode(QSurface3DSeries::DrawWireframe);
void MainWindow::on_btnGrad1_clicked()
{//设置曲面渐变颜色QLinearGradient gr;gr.setColorAt(0.0, Qt::black);gr.setColorAt(0.33, Qt::blue);gr.setColorAt(0.67, Qt::red);gr.setColorAt(1.0, Qt::yellow);series->setBaseGradient(gr);series->setColorStyle(Q3DTheme::ColorStyleRangeGradient);
}//选择标识的形状,如一个点,一个三角
QAbstract3DSeries::Mesh aMesh;
aMesh=QAbstract3DSeries::Mesh(index+1);
series->setMesh(aMesh);
三维地形图
Q3DSurface *graph3D= new Q3DSurface();//三维图表//创建数据代理
QImage heightMapImage(":/map/sea.png");
QHeightMapSurfaceDataProxy *proxy= new QHeightMapSurfaceDataProxy(heightMapImage); //数据代理
proxy->setValueRanges(-5000, 5000, -5000, 5000);QSurface3DSeries *series= new QSurface3DSeries(proxy);//序列
10 Data Visualization相关推荐
- 数据可视化(data visualization)—— seaborn
进入命令行界面(cmd)下载安装,pip install seaborn.seaborn 是作为 matplotlib 的辅助工具才出现的,使其绘制出更为形象化的图形. 官当 doc:Seaborn: ...
- Data Visualization – Banking Case Study Example (Part 1-6)
python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...
- 现代的数据可视化(Data Visualization)技术
人视觉....最直接接受信息的一种方式... 或者把数据变的可视 更便于人对数据的认识. ------------------------ 现代的数据可视化(Data Visualization)技术 ...
- Qt开发总结(20)——Data Visualization
上篇介绍了Qt Charts二维图表模块,本篇笔记总结Qt三维图表模块--Data Visualization.同样,在Qt5.7之前之后商业版才有,从Qt5.7开始免费开放在了社区版中.与QtCha ...
- Qt Data Visualization
Qt Data Visualization 写在前面: 正文: 一 Demo--audiolevels 运行效果: 二 Demo--bars 运行效果: 三 Demo--customi ...
- Qt三维图表模块 -- Data Visualization 学习记录
Qt三维图表模块 ----- Data Visualization Qt数据可视化模块提供了一种将三维图形中的数据可视化为条形图.散点图和曲面图的方法.它对于可视化深度图和大量快速变化的数据特别有用, ...
- oracle可视化图标,Oracle Data Visualization Desktop 试用
下载安装 Oracle Data Visualization Desktop,简称DV,是Oracle推出的一个数据可视化独立产品,也是Oracle BI产品BIEE的一部分. 为了与Microsof ...
- Data Visualization
Data Visualization -Scalar Visualization Data Visualization Data Visualization(数据 ...
- Data Visualization(一)
Data Visualization是Qt提供的用于数据三维显示的模块.Data Visualization用于数据的三维显示,包括三维柱状图.三维空间散点图.三维曲面等.Data Visualiza ...
最新文章
- media recovery oracle,media recovery
- year range in CRM Fiori Sales Pipeline
- 深度学习(21)神经网络与全连接层四: 输出方式
- BFPTR算法详解+实现+复杂度证明
- java安装后在哪里打开_冷却塔声屏障安装后降噪效果不理想,原因出在哪里?...
- 处理移动端pdf展示问题
- 数据结构 之 并查集(Disjoint Set)
- java collection 常用类_分析Collection常用的实现类
- keras 中 reuse 问题
- 线程和进程有什么区别(简单介绍)
- sparksql优化_Spark SQL | 目前Spark社区最活跃的组件之一
- 如何用VS2015手撕白菜
- T检验与F检验的区别_f检验和t检验的关系
- 计算机无法登录到你的账户,Windows10系统提示“无法登录到你的账户”如何解决...
- 【EXLIBRIS】#小词旮旯# 002 Rape
- 至于你信不信(由你),我反正信了
- 操作系统——文件存储管理
- Linux下硬盘加密
- 大魔王程序员生成记#01#C语言基础
- 半导体器件物理【4】晶胞晶格晶面晶向
热门文章
- SteamVR使用射线交互UI
- 1600页!卷S人的 Java《八股文》PDF手册
- 2022年社区工作人员社区专职工作者考试精选套卷及答案
- 最美的英文 - 第九篇 - love
- 求闰年 LeapYear.java
- 基于TCP协议的mfc多人聊天室
- python svg2rlg,Convert SVG to PNG with Python on Windows
- java模拟银行存取_JAVA模拟银行存钱,取钱操作以及计算利息操作
- 天猫淘宝的低帮帆布鞋主图视频批量下载技巧
- android layout_margintop,layout_margintop