问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

WPF图表控件Chart FX使用方法系列:如何绘制地图轮廓

发布网友 发布时间:2022-04-22 10:30

我来回答

1个回答

热心网友 时间:2023-07-01 08:16

这个功能将能够使得我们在一个3D图表上添加或控制第三个轴。个人觉得最新的这个SurfaceXYZ图表最炫的功能就是创使用来自不同城市的数据建地理位置上精确的表面。这个功能可以用于很多的地方,比如说图表绘制、每个城市会甚至是一个国家的总销售收入等。 在本次的示例中,我们假设需要显示整个佛罗里达超过800家店的客户满意度,我们将按照城市的字母顺序,然而定位指定商店的分数是非常容易的,但是难的是了解国家哪些区域的商店比其他的地方做的更好,并将其绘制在表面上。在另一方面,将会打组所有接近的商店,这样就会很好的找到最好和最差的区域时哪里,这种情况特别适合于一个国家的地图,最终的效果将会如下所示: 选择一张地图,我选择了Mercator墨卡托投影的地图,也许你还没注意到,我们已将这个所选的地图放在了表面。这样做是因为用于表面的三角测量法将会插入所有的数据到我们的表面上,从墨西哥湾商店的数据收集来造成一种假象。值得注意的是,我们将这张图盖住了城市是透明的区域,这样的话,非透明的海洋将会覆盖插入的数据就会显得没有意义。下面是我们没有表面的地图的样子。 现在已经选择了地图,来看看数据资料: 我们有着商店的经度和纬度,这将会值得通过GPS找到这个位置非常的容易。接下来,我们要将它转化成在我们随所挑选的地图上的像素值,由于这是一个墨卡托投影,使用下面的公式来进行转换(φ表示的是经度,λ表示的是纬度)。 一旦将我们的数据格式化之后,就可以将数据传递到图表,看看会得到什么样的结果: SurfaceXYZ surfaceXYZ = new SurfaceXYZ(); surfaceXYZ.ShowPointsGridlines = false; surfaceXYZ.ShowSeriesGridlines = false; surfaceXYZ.ShowContourLines = true; chart1.ItemsSource = chartData; SeriesAttributes series0 = new SeriesAttributes(); SeriesAttributes series1 = new SeriesAttributes(); series0.GalleryAttributes = surfaceXYZ; series1.GalleryAttributes = surfaceXYZ; series0.BindingPath = "Score"; series0.BindingPathX = "X"; series1.BindingPath = "Y"; chart1.Series.Add(series0); chart1.Series.Add(series1); 值得注意的是,我们在这里需要两个系列的XYZ图表,第二个图表将会被绑定到Z数据,但是由于我们希望在上面的表面是以一种二维的方式,我们将它称为“Y”(在地图上或是在纬度上)。Y轴表示着我们正在传递的值,如果这不是二维的图表,它将会代表着深度或高度。 在表面多余的代码,依然会有用,如果在图表上做一些变动使它变成轮廓。 ChartFX.WPF.View3D view3D = chart1.View3D; view3D.IsEnabled = true; view3D.AngleX = -90; view3D.AngleY = 0; view3D.Projection = Projection.Orthographic; view3D.BackWallVisibility = Visibility.Collapsed; chart1.AxisX.Line.Visibility = Visibility.Hidden; chart1.AxisX.Grids.Major.Visibility = Visibility.Hidden; view3D.Lights.Clear(); System.Windows.Media.Media3D.AmbientLight ambLight = new System.Windows.Media.Media3D.AmbientLight(Color.FromRgb(0xD0, 0xD0, 0xD0)); view3D.Lights.Add(ambLight); 如果你仔细看会发现,这个“Florida shape”看起来有一点扭曲,这个主要是因为我们的轮廓是放置在一个平面上的,而不是我们选择的地图的比例设置。此外,在X轴和Z轴上的最大值并不是在我们地图上使用的值。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
"多难兴邦"这个词,让我们懂得了什么? uc怎么进入阅读模式 进入阅读模式方法介绍 uc怎么进入小说阅读模式 uc浏览器设置阅读模式-uc浏览器设置阅读模式方法 uc电脑阅读模式怎么设置电脑上UC浏览器的阅读模式怎么打开 微信怎么判断对方把你拉黑并且删除了,还是只是拉黑了? 公司诉讼由哪个法院管辖?公司诉讼管辖确定的理论依据? 笔记本电脑开机无法进入系统笔记本电脑开机后无法进入系统 从深圳到乌镇玩三天,花销最少是多少?越少越好,如果有个计划就更好乐 马上快过年放假了,第一次去见岳父,送茅台好还是五粮液好? 怎么在wpf中调用百度地图api 有营业执照就下的网贷 求问热水器怎么开 “如何”“怎样”“怎么样”的区别是什么? 我不知怎么打开热水器 在WORD中如何快速打出001至999位数字 这种热水器,怎么打开热水? 3分钟安装好一张双层床真的吗? 怎样在二层床上放蚊帐? 用股票形容人的段子有哪些? 梨汁西米露的做法,梨汁西米露怎么做好吃,梨汁 基建类股票有哪先? 西瓜椰奶西米露的做法? 椰汁西米露的做法步骤图,椰汁西米露怎么做 推荐几支4到6元的股票! 椰奶西米露的具体做法 椰汁西米露的正确煮法(要求过程清晰) ? 谢谢 。 沧州明珠为什么上涨?2021年沧州明珠第三季度业绩?002108沧州明珠是什么股票? 奶西米露的做法步骤图,椰奶西米露怎么做好 苹果西米露的做法,苹果西米露怎么做好吃,苹果 WPF中墨卡托投影得到的瓦片地图如何给三维模型贴材质 WPF Bing Maps Control能不能连别的地图 wpf用mapx开发怎么给其他人使用 谁有WPF2010和Access 2010做的公交查询软件,要有地图显示的,我把我的分全给他了。 wpf里怎么使用bitmap 手机QQ怎么查账户余额? 怎样查看QQ账户余额? C# winform 用textbox显示文本 如何把光标定位到指定的位置 在qq上转账我怎么查余额 WPF怎样使用RenderTargetBitmap 怎么在qq上查询银行卡余额查询 WPF中datagrid的DataGridTextColumn显示多行 怎样在qq钱包上看到自己有多少钱 prism3D怎么把我做好的素材导出并放在其他地图里 wpf Bitmap显示在listView。 QQ零用钱怎么查 wpf中怎么获取image上的图并转化为bitmap 在QQ上怎么查询QQ币 C# wpf为什么不能调用bitmap wpf如何将BitmapSource转为bitmap?