我使用來自道場製圖的ThreeD主題顯示圖形。 當我修改數據以便我可以爲圖中某些 條顯示不同的顏色時,我將失去3D外觀。對於ThreeD他們改變道場製圖上的顏色ThreeD主題
默認的顏色是紅色
{Y: 「15」,提示: 「15個報警信息」,填寫: '黃'}
添加 '填充:黃' 上的數據項的變化酒吧變黃, 但我失去了3D的外觀。
關於改變主色調和保持3D外觀的最佳方式的任何想法?
我使用來自道場製圖的ThreeD主題顯示圖形。 當我修改數據以便我可以爲圖中某些 條顯示不同的顏色時,我將失去3D外觀。對於ThreeD他們改變道場製圖上的顏色ThreeD主題
默認的顏色是紅色
{Y: 「15」,提示: 「15個報警信息」,填寫: '黃'}
添加 '填充:黃' 上的數據項的變化酒吧變黃, 但我失去了3D的外觀。
關於改變主色調和保持3D外觀的最佳方式的任何想法?
我能夠抓住從ThreeD.js的代碼,並把它應用到我的應用程序來實現:
var colors = ["#f00", "#0f0", "#00f", "#ff0", "#0ff", "#f0f", "dojox/charting/themes/common"];
var defaultFill = {type: "linear", space: "shape", x1: 0, y1: 0, x2: 100, y2: 0};
// 3D cylinder map is calculated using dojox.gfx3d
var cyl3dMap = [
{o: 0.00, i: 174}, {o: 0.08, i: 231}, {o: 0.18, i: 237}, {o: 0.30, i: 231},
{o: 0.39, i: 221}, {o: 0.49, i: 206}, {o: 0.58, i: 187}, {o: 0.68, i: 165},
{o: 0.80, i: 128}, {o: 0.90, i: 102}, {o: 1.00, i: 174}
];
var hiliteIndex = 2;
var hiliteIntensity = 100;
var lumStroke = 50;
var cyl3dFills = ArrayUtil.map(colors, function(c){
var fill = lang.delegate(defaultFill);
var colors = fill.colors = gradientGenerator.generateGradientByIntensity(c, cyl3dMap),
hilite = colors[hiliteIndex].color;
// add highlight
hilite.r += hiliteIntensity;
hilite.g += hiliteIntensity;
hilite.b += hiliteIntensity;
hilite.sanitize();
return fill;
});
當我創建用於將圖表數據的JSON字符串,我使用cyl3dFill [X]設置顏色:
{y: "10", tooltip: "10 Alarms", fill: cyl3dFill[3]} //Sets 3D Yellow fill
如果填充不被添加到該數據記錄,默認顏色被假定(紅)。 不知道這是不是一個壞方法,但我喜歡它....
不知道下一個方法與三維主題,但它看起來像它改變了主題的顏色。不能得到的方法工作...
只需基於ThreeD創建一個新主題,並根據要使用的顏色更改顏色變量。 我建議你:
感謝您的信息菲利普!我沒有創建自己的主題文件,而是從ThreeD.js中獲取代碼,並將JSON字符串中每個圖形欄所需的顏色應用。請參閱下面的文章... – GoinOff 2013-04-25 16:10:35
克隆該文件允許您在其他地方重複使用該主題,而不是在每次要應用該特定主題時進行復制/粘貼... – Philippe 2013-04-25 18:31:57
感謝您對sitepen的鏈接,超級有用。現在也要製作我自己的定製主題。回到實驗室.... – GoinOff 2013-04-25 19:56:16