接下来我们看 一下一些常见的水球项目。 有这样的: 这样的: 甚至还有这样的: 今天这篇文章就带领大家"从零到一"的构建水球图。话不多说,开干! 我们想在示例中找一下有没有类似水球之类的组件,遗憾的是,我们并没有在官网提供的示例中找到。 )' }, label: { normal: { formatter: (0.5 * 100).toFixed(2) radius: 水球的半径,可以是相对值 % 也可以是绝对值 px。 center: 水球所处的位置, 第一个值为X轴,第二个值为Y轴。可以是相对值 % 也可以是绝对值 px。 label : 水球内部文字 最终效果图
有趣的3D图表水球:从 ECharts 到 RayChart 的升维打击在数据可视化大屏中,“水球图”(Liquid Fill Chart)绝对是展示百分比数据(如CPU使用率、完成度、剩余电量)的颜值担当 它简单、好用,但在这个“卷”视觉的时代,传统的 2D 扁平水球有时显得不够“震撼”。 今天我们来聊聊一个有趣的话题:如何用 RayChart 手搓一个真实的 3D 水球,并对比它与 ECharts 水球的区别。 传统的 2D 做法:ECharts LiquidFillECharts 的水球本质上是 2D Canvas/SVG 绘图。 如果你在做酷炫的数据大屏,想要那种“看起来很贵”的效果,RayChart 的 3D 水球绝对值得一试。
'; 拼接图形:img=img1+img2+... 2 水球图边缘如何做出立体感? ? 水球图显示某几个数值大小,波浪流动,显示非常醒目。通过2个水球图的对比显示拜登和川普最新支持率情况。 细心的读者可能注意到,水球图边缘有一种立体感,这种是如何做出来的? 以上作品所有完整源码,只需在我的公众号里回复 geo 即可。
简介水球图通过调整圆环的颜色和大小,形象地展示了数据的分布情况。Pyecharts库提供了丰富的配置选项,使用户能够定制化图表以满足特定需求。2. 基础水球图首先,让我们创建一个基础的水球图,展示某个指标的完成比例。 Liquid 1", [0.6], # 完成比例 label_opts=opts.LabelOpts(position="inside")) .add("Liquid 2" opts.LabelOpts(position="inside")) ) bar_chart = ( Bar() .add_xaxis(["Category 1", "Category 2" 定义更新数据的函数 def update_data(): while True: new_data = [round(random.uniform(0.4, 0.8), 2)
Page() liquid = Liquid("内存占比") liquid.add("Liquid", [0.6], shape="circle") page.add(liquid) liquid2 = Liquid("内存占比") liquid2.add("Liquid", [0.6, 0.5, 0.4, 0.2], is_liquid_outline_show=False, shape="diamond ") page.add(liquid2) page.render("water.html") 执行 打开生成的【water.html】 双击打开 实例效果 希望能给大家带来一定的帮助。
小编今天给大家带来了各式各样的水球图,虽然绘制简单,但在我们的日常生活中可是用处很大的哦~~~ 而且水球图的家族庞大,一起看看他们的风姿吧! Liquid # 导入水球图的形状配置项 from pyecharts.globals import SymbolType 首先我们最常见的水球图出场~~ c = ( Liquid() ], center=["60%", "50%"]) .set_global_opts(title_opts=opts.TitleOpts(title="多个水球")) ) l2 = Liquid font_size=50, position="inside", ), ) grid = Grid().add(l1, grid_opts=opts.GridOpts()).add(l2, 接下来展示水球图的各种形状~~~ 方形水球 c = ( Liquid() .add("lq", [0.87,0.65,0.23], is_outline_show=False, shape
:['#2E5199','#1567c8','#1593E7','#42B8F9']//水纹颜色 }; start(options); /** * 绘制水球图 */ function start 为了避免文字中白色的部分被下一层水纹绘制时截断,我们需要在每一层水纹绘制后,都重复步骤2,将该层水纹到水球底部的所有范围设置为剪裁区域,然后绘制该层水纹以内的白色文字部分,这样当几层水纹都绘制完毕后,文字淹水的部分就都会被染成白色 关于canvas抗锯齿 如果仔细查看上面的水球外圆,会发现水球图的外侧不是很平整,看起来会有很多锯齿。 //在绘制外圆之前添加如下代码 context.shadowColor = '#2E5199'; context.shadowBlur = 2; context.shadowOffsetX = 0; context.shadowOffsetY = 2; 六.
紧接上文思路继续介绍3D特征的基本概念问题。 ? RIFT (Rotation-Invariant Feature Transform) RIFT是一种局部特征描述法,且该方法扩展于SIFT。 (2)NARF不仅是描述符,还是检测器。 (2)此功能不使用颜色信息。 工作原理: (1)迭代点云P中的点。 (2)对于输入云中的每个点Pi(i是迭代索引),收集具有半径r的Pi周围的球体内的所有相邻点。 D3 shape description functions: Matching 3D Models with Shape Distributions (Osada et. al.) (3) D2:对于D2函数,计算Pri和Prj之间的距离。然后检查连接两点的线是否完全位于表面(IN),表面外(OUT)或两者(MIXED)。
前言 本文将使用ShaderGraph制作一个 高级流体水球 ,可以直接拿到项目中使用。 【Unity ShaderGraph】| 快速制作一个 流体水球效果 一、效果展示 资源下载方式: ShaderGraph效果资源整合文件【其中内容持续更新】 二、简易流体水球效果 首先在Project 双击打开该ShaderGraph,连接节点如下: 通过调节Slider可以控制水球大小。 三、进阶流体水球效果 在上面的水球效果基础上再加一层用于显示水花效果,连接节点如下所示: 通过调节定义的外部Float节点progress可以调节水球的大小饱和度。 progress = 0f; } } } 将脚本挂载到场景的Image组件中,并将刚才创建的材质球和Text组件拖到脚本中,如下图所示: 需要注意的是要将控制水球进度的
水球图 对于Echarts4.9及以下是内置水球图的,但是5.x以上版本是没有的。 echarts npm install echarts-liquidfill@3 注意: echarts-liquidfill@3 版本匹配 echarts@5 版本,echarts-liquidfill@2
1、2d绘图类型 2d绘图(上):折线图、散点图、柱状图、直方图、饼图_QomolangmaH的博客-CSDN博客 https://blog.csdn.net/m0_63834988/article/details spm=1001.2014.3001.5501 2、3d绘图类型 0. spm=1001.2014.3001.5502 2. 3D散点图(3D Scatter Plot) 用于可视化三维数据的散点图,通过在三维空间中绘制数据点来展示数据的分布。 图形对象 fig = plt.figure() ax = fig.add_subplot(111, projection='3d') # 绘制3D散点图 ax.scatter(x, y, z, c=colors 创建了一个3D图形对象,并将其添加到子图中。 使用ax.scatter函数创建了3D散点图。 我们通过传递x、y和z参数来指定每个散点的位置。
2D (谷歌浏览器和safari需加前缀-webkit-) (ie浏览器需加-ms-) (火狐浏览器需加-moz-) 格式:[前缀]transform:以下方法; translate(x,y):元素移动指定像素 numdeg) 设置元素旋转角度,负值时逆时针旋转(deg:单位); scale(w,h):指定元素高宽; ,以中心点进行缩放,如果为负则缩放到最小倍数 skew(xdeg,ydeg):指定元素翻转角度; 3D transform rotateX(x)沿着x旋转 rotateY(y)沿着y旋转 transform-origin 允许你改变被转换元素的位置 transform-style 规定被嵌套元素如何在 3D 空间中显示 perspective 规定 3D 元素的透视效果(值越小3D效果越明显) perspective-origin 规定 3D 元素的底部位置。 translate3d(x,y,z):Z控制物体近大远小的具体情况 transform-style 指定嵌套元素如何在3D空间中显示,主要有两个属性值flat(默认)表示所有子元素在2D平面呈现,preserve
松山湖 可爱大狗!
任务 一张图片,就是 3D 物体的 2D 平面投影,所以,从高维空间向低维空间转换过程中,必然会丢失一些数据。因此,从单一视图的 2D 图像中,永远不会有足够的数据来构建其 3D 模型。 所以,要实现从 2D 图像到 3D 模型的创建,必须对原来的 3D 物体本身有先验知识。 在 2D 深度学习中,卷积自动编码器是学习输入图像的压缩表”的非常有效的方法。 3D数据表达 2D 图像在计算机中只有一种通用格式(像素),与之不同的是:3D 数据可以用许多不同的数字格式来表示。这些表示方法各有优缺点,因此数据呈现方式的选择直接影响到可使用的方法。 输入:预测视点处的 2D 投影 输出:点云 伪渲染器 可以推断,应该有必要将预测的 2D 投影融合的点云中。那么,如果我们从新视点渲染不同的 2D 投影,它也应该类似于真实 3D 模型的投影。 微分意味着可以计算反向传播的梯度,从而可以使用 2D 投影的损失来学习生成 3D 点云。
上一节介绍3D Tiles渲染调度的时候,我们提到目前Cesium支持的Cesium3DTileContent目前支持如下类型: Batched3DModel3DTileContent Instanced3DModel3DTileContent 3D Tiles也是基于状态,从UNLOADING开始,通过一系列的request,完成最初的数据加载过程,结束LOADING状态,进入Pocessing过程,也就是数据解析。 这里解释一下:3D Tiles中主要的数据部分就是glTF,而glTF也是基于状态管理的,无论是glTF的解析还是构造DrawCommand,只是state不同,都是在update方法中完成的。 如上是batchtable的内容,以及3d tiles给出的文档信息,其实batchtable就是一个json对象。 下次以个人的经验来谈一下3D Tile好和不好的部分,当作完结篇。
,这个水球里面也包含了水,我们可以通过IOC取这个水球,但是也可以直接取水球里面的水;(用法就是 用&表示取水球,取水球里的水用正常的获取方式就行了;如果我们用&获取到了水球之后,可以通过这个水球的 getObject 方法获取水球里面的水;) 在之前的文章中我们已经分析过BeanFactory的源码了,今天我们单独分析FactoryBean 代码入口 ---- public static void main( = null && mbd.isSynthetic()); /** *1.返回FactoryBean.getObject()对象 *2.执行后置处理器接口的方法BeanPostProcessor 源码的流程 1.判断是否需要调用FactoryBean的getObject方法来获取实例 判断依据是:①.如果name有前缀&,直接返回 ②.如果没有前缀&,调用getObject方法获取实例 2. TODO… 2.BeanPostProcessor后置处理器讲解 BeanPostProcessor解析 3.上面Object alreadyThere = this.factoryBeanObjectCache.get
data_pair=[['完成率', 88.8]], # 系列数据项,格式为 [(key1, value1), (key2, value2)]
radius='70%', formatter="{a}
{b} : {c}%",
)
)
.render('gauge.html')
)
运行效果如下:
[f8n0snzzxj.gif]
三、水球图 data=[0.25], # 系列数据,格式为 [value1, value2, ....] center=['60%', '50%'],
# 水球外形,有' circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', =1611377606;1611384806&q-header-list=&q-url-param-list=&q-signature=2b0e6dd139c3e83239b37cf635574b73a71d1b2a
/data/03-01水球.html') # 圆形水球 liquid2 =Liquid("水球图示例") liquid2.add("Liquid", [0.6, 0.5, 0.4, 0.3], is_liquid_outline_show =False) liquid2.show_config() liquid2.render(path='. /data/03-02圆形水球.html') # 菱形水球 liquid3 =Liquid("水球图示例") liquid3.add("Liquid", [0.6, 0.5, 0.4, 0.3], is_liquid_animation /data/03-03菱形水球.html') ? ("C", [1, 2, 3, 4, 1, 2, 5], radius_data=radius, type='barRadius', is_stack=True) polar.show_config()
2D变换(2D Transform) 2D变换是指在二维平面内对元素进行的几何操作。CSS3中的2D变换主要包括以下几种: translate() - 平移 功能:将元素在水平和垂直方向上移动。 3D变换(3D Transform) 3D变换是在三维空间内对元素进行的几何操作。相比2D变换,3D变换更加复杂,可以在Z轴(深度)上对元素进行操作。 CSS3中的3D变换主要包括以下几种: 使用 transform-style 开启 3D 空间,可选值如下: flat : 让子元素位于此元素的二维平面内( 2D 空间)—— 默认值 preserve perspective() - 视角 功能:设置3D变换的视角距离,使元素在3D空间中有深度感。 结语 2D和3D变换为Web设计和开发提供了丰富的视觉效果。掌握这些变换技术,不仅能增强网页的互动性,还能为用户带来更直观、生动的体验。
今天,混元3D生成模型家族迎新——混元3D-Omni、混元3D-Part发布并开源。 这是腾讯混元在可控3D生成上的新突破,让AI 3D建模更具实用性,加速3D生成模型在游戏、打印和AR/VR 等实际生产流程中的落地应用。 混元3D-Omni:3D界的“ControlNet” 多条件控制一网打尽 近年来,基于原生3D表示(如点云和体素)的生成模型迅速兴起。 混元3D-Part:组件式生成新范式 让3D模型像乐高一样“可拆卸“ 与混元3D-Omni的精准生成相呼应,混元3D-Part则专注解决3D生成的“拆解难题”。 X-Part 组件生成结果和开源工作对比 X-Part 的生成结果和闭源R模型对比: 目前该模型也已经上线混元3D Studio,通过腾讯混元3D创作引擎即可免费使用。