在plotly scatter3D中改变颜色
Posted
技术标签:
【中文标题】在plotly scatter3D中改变颜色【英文标题】:changing colors in plotly scatter3D 【发布时间】:2020-11-24 20:09:58 【问题描述】:我在 R 中使用 plotly 创建了以下 3d 散点图。 为此,我使用了以下代码 数据集Txy,只包含每个标记的x,y,z坐标和每个坐标点的0-1.5之间的值(在名为vectorM的列中)
figfactor<- plot_ly(setTxy, x=~xplot,y=~yplot*-1,z=(~zplot*-1),
type="scatter3d",mode="markers",
marker=list(color=~vectorM,
colorscale=c("rgb(244, 244, 244)","rgb(65, 65, 65)"),
showscale=TRUE,
line=list(width=2,color='DarkSlateGrey')))
figfactor <- figfactor %>% add_markers()
figfactor <- figfactor %>% layout(scene = list(xaxis = list(title = 'x-value [mm]'),
yaxis = list(title = 'y-value [mm]'),
zaxis = list(title = 'z-value [mm]')),
annotations = list(
x = 1.06,
y = 1.03,
text = 'factor',
xref = 'paper',
yref = 'paper',
showarrow = FALSE
))
figfactor
我以为我将所有颜色都更改为 gray ,但情节中仍有颜色。 我怎样才能改变这个?进一步: -为什么缩放不是灰色的;我怎样才能创造这个? - 我如何在右侧标度上方勾勒出“因素” -为什么我有'trace 0'和'trace 1'?
如何在这个图中画出两个圆,要么在图中画,要么用圆的公式?
谢谢
【问题讨论】:
您的问题几乎无法阅读。请编辑问题并修复任何缺失的代码部分。 问题已编辑 好多了。已提供答案。 :-) 【参考方案1】:来自文档scatter-marker-color 的问题是颜色的格式错误。请注意下面粗体标记的部分
设置色阶。只有在
Greys、YlGnBu、Greens、YlOrRd、Bluered、RdBu、Reds、Blues、Picnic、Rainbow、Portland、Jet、Hot、Blackbody、Earth、Electric、Viridis、Cividis。marker.line.color
设置为数值数组时才有效。 色标必须是包含数组的数组,将标准化值映射到 rgb、rgba、hex、hsl、hsv 或命名颜色字符串。至少,需要最低 (0) 和最高 (1) 值的映射。例如,[[0, 'rgb(0,0,255)'], [1, 'rgb(255,0,0)']]
。要控制色彩空间中的色标范围,请使用marker.line.cmin
和marker.line.cmax
。或者,colorscale
可以是以下列表的调色板名称字符串:
在R
中,数组要么使用array
创建,要么作为列表(或向量列表)的list
创建。因此,我们可以通过两种方式获得全灰色:
-
设置
colourscale = 'Greys'
将向量重新映射到向量列表。
以mtcars
数据为例,可以这样做
data(mtcars)
library(plotly)
plot_ly(mtcars, x = ~hp, y = ~cyl, z = ~mpg,
type = 'scatter3d', mode = 'markers',
marker = list(color = ~ hp,
# Use either a named palette in the above list:
#colorscale = 'Greys',
# Or use a list of vector scales.
colorscale = list(c(0, rgb(55, 55, 55, max = 255)),
c(1, rgb(244, 244, 244, max = 255))),
showscale = TRUE))
请注意,line
参数是不必要的,除非您特别想在点之间添加线,并且列表的 顺序 确实很重要(例如,c(1, ...)
应该总是出现 之后 c(0, ...)
)。
【讨论】:
谢谢,我现在有灰色的图了。 另一个相关问题:我可以创建三个这样的图并将它们组合成一个图(让三个图彼此相邻? 您正在寻找subplots 或facets(可能仅在python 中可用)。请记住通过单击向上箭头和复选标记来投票并将答案标记为“答案”,以提高知名度并帮助其他人在未来找到他们问题的答案。 :-)以上是关于在plotly scatter3D中改变颜色的主要内容,如果未能解决你的问题,请参考以下文章
在 Vue 上使用带有 Webpack 的 plotly.js 3d scatter3d
如何更新第二个绘图轴 plotly Scatter3D subplots
如何使用场景向 scatter3D Plotly 绘图添加注释?
R语言使用car包的scatter3d函数可视化可以交互旋转的3D散点图(Spinning 3D scatter plot by the scatter3d() function of car)