【求助】请问如何将RGB数据绘制成彩色雷达图
mathematica吧
全部回复
仅看楼主
level 5
VUYLIUGANG 楼主
类似上面所示的雷达图。我手中目前已经有了R、G、B三种颜色的视角数据,请问如何才能将这些数据绘制成图片那样的雷达图呢?尝试过ListDensityPlot和Raster等命令,似乎都不太行。各位大佬有没有知道的,感谢!!!
2024年09月29日 07点09分 1
level 7
似乎可以直接画?
2024年09月29日 09点09分 2
谢谢,但是我那个RGB数据不是按照水平和竖直方向排列的,而是按照倾角(0~90°)×方位角(0~360°)排列的,构成的是一个半球的视角数据。如果按照这个指令来画,它会变成3楼的那个样子,不是一楼那种极坐标雷达图
2024年09月29日 15点09分
level 5
VUYLIUGANG 楼主
2024年09月29日 15点09分 3
不太清楚具体数据,你试试能不能把数据处理成二维的形式,或者直接用Graphics硬画。
2024年09月30日 03点09分
@贴吧用户_5ND21bb 我懂了,就是先用你提供的方法把数据画成3楼那种图,然后再用4楼的方法把3楼那种图转画成极坐标的形式,就是我想要的雷达图了。也谢谢你。
2024年10月01日 16点10分
level 10
ParametricPlot[
v {Cos[u], Sin[u]}, {u, 0 + 90 \[Degree], 6.3 + 90 \[Degree]}, {v, 0,
1},
PlotStyle -> {Opacity[1], Texture[ima]},
Mesh -> False, Axes -> False,
TextureCoordinateFunction -> ({
#3, #
4} &)]
2024年09月30日 11点09分 4
ParametricPlot[Sin[1.57 v] {Cos[u], Sin[u]},...
2024年09月30日 11点09分
@liyajx 大佬,感谢!你太强了!!!
2024年10月01日 15点10分
[笑尿]我也是第一次碰texture,学习了
2024年10月01日 23点10分
吧务
level 15
直接用 ImageForwardTransformation 对图像作变换也是可以的:
func = Compile[{{p, _Real, 1}},
Module[{th, r}, {th, r} = p;
With[{t = 2 Pi th - Pi/2}, r {Cos[t], Sin[t]}]]];
(* 觉得上面的定义难以理解的话就用下面的。注意,会慢很多。 *)
Clear@func;
func[{th_, r_}] := With[{t = 2 Pi th - Pi/2.}, r {Cos[t], Sin[t]}]
img = (* 图放在这里 *)
半径 = #2/N@# & @@ ImageDimensions@img;
ImageForwardTransformation[img, func,
PlotRange -> 半径 {{-1, 1}, {-1, 1}}] // AbsoluteTiming
2024年10月05日 04点10分 5
1