猿问

绘图颜色不改变Javascript

我正在开发一个需要我使用图形 csv 文件输入的项目。我一直在使用plotly,到目前为止它似乎运行得很好。


但是,当我尝试更改图形(线条和标记)的颜色时,它不起作用。我发布了我的代码摘录,因为颜色总体上只是代码的一小部分,我不想在这里转储所有内容。


//There's multiple charts so changing color is important

var r = Math.random() * 256

var g = Math.random() * 256

var b = Math.random() * 256


...

//used these as a vars so I can change things to test easily (multiple time series being used)

 var color='rgb('+r+', '+g+', '+b+')'

var colora='rgba('+r+', '+g+', '+b+', '+'0.14'+')' 


...

//layout of markers

{

                x: time,

                y: time,

                z: data1,

                line: {

                  reversescale: false,


                  //color: "'"+color+"'" 

                  color: "'rgb("+r+', ' +g+', '+ b+")'",


                },

                //mode: 'lines',

                marker: {

                  //color: "'"+color+"'",

                  color: "'rgb("+r+', ' +g+', '+ b+")'",

                  size: 3,

                  line: {

                    //color: "'"+colora+"'",

                    color: "'rgb("+r+', ' +g+', '+ b+")'",

                    width: 0.1

                  },

                  opacity: 0.8

                },

                type: 'scatter3d'

              }

这两次尝试都只给了我标准的黑点。当我尝试工作正常的常量时(例如 color:'rgb(100,100,240)')。我在这里缺少什么吗?我已经 console.logged 这个东西,它似乎不是我的变量结构的问题。


PIPIONE
浏览 145回答 2
2回答

互换的青春

您的 RGB 字符串周围有太多引号。为了避免连接字符串时出现混乱,您还可以使用模板字符串。请参阅下面的工作小提琴。const r = 0;const g = 255;const b = 0;const color = 'rgb(' + r + ',' + g + ',' + b + ')';const colorTemplate = `rgb(${r},${g},${b})`;var trace1 = {&nbsp; x: [1, 2, 3, 4],&nbsp; y: [10, 15, 13, 17],&nbsp; type: 'scatter',&nbsp; marker: {&nbsp; &nbsp; color: color&nbsp; }};var trace2 = {&nbsp; x: [1, 2, 3, 4],&nbsp; y: [16, 5, 11, 9],&nbsp; type: 'scatter',&nbsp; marker: {&nbsp; &nbsp; color: colorTemplate&nbsp; }};var data = [trace1, trace2];Plotly.newPlot('myDiv', data);<head>&nbsp; &nbsp; <!-- Load plotly.js into the DOM -->&nbsp; &nbsp; <script src='https://cdn.plot.ly/plotly-latest.min.js'></script></head><body>&nbsp; &nbsp; <div id='myDiv'><!-- Plotly chart will be drawn inside this DIV --></div></body>

慕尼黑的夜晚无繁华

我的代码的问题是我正在使用 vars。通过切换到常量,我可以解决这个问题。我没有发现颜色没有改变,因为由于某种原因图例显示了正确的颜色,但标记和线条不接受它。
随时随地看视频慕课网APP

相关分类

Html5
我要回答