2016-12-14 392 views
0

我有一個氣泡系列,我想在一個系列中使用一個點作爲自定義標記。標記可以是基於HighCharts(5點 - 星號)的SVG實現或URL圖像呈現的明星。Highcharts氣泡圖,自定義標記

https://assets.mypatentideas.com/images/fiddle/star.png

series: [{ 
      // color: 'red', 

     data: [      
       { x: -0.95, y: 0.54, z: 0.93}, 
       { x: -0.15, y: 0.14, z: 1, marker: { 
       symbol: 'star' 
      }} 

      ] 
     }, 
     { 
      // color: 'red', 
      data: [ 
       { x: 0.95, y: -0.54, z: 0.93}, 
       { x: 0.15, y: -0.14, z: 1, marker: { 
       symbol: 'starimage' 
      } }, 


      ] 
     }] 

的想法是這裏所介紹:

https://jsfiddle.net/mshaffer/kx62dztf/

對於圖像,調整大小,以便在w和h等於半徑,如果它是一個真正的泡沫。對於SVG恆星,渲染時,恆星的半徑(中心到任意點)都是相同的氣泡半徑。

也許明星需要成爲自己的系列,這很好。

很少相關參考文獻: https://highcharts.uservoice.com/forums/55896-highcharts-javascript-api/suggestions/3913511-allow-for-custom-symbols-when-using-bubble-chart 指向http://jsfiddle.net/highcharts/un9faeed/http://jsfiddle.net/gh/get/jquery/3.1.1/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/renderer/http://www.highcharts.com/demo/renderer

+1

所以,有一件事我沒有在這個崗位所看到的是一個實際的問題。您列出了我可能發佈的一些參考文獻,因此我們需要知道您基於這些參考文獻制定的內容,以及您正在尋求哪些幫助。 – jlbriggs

+0

「我有一個泡泡系列,我想用一個系列中的一個點作爲自定義標記,標記可以是基於HighCharts(5點 - 星)的SVG實現或URL圖像渲染的星形。」如何使一個自定義標記爲高圖像作爲圖像還是SVG? – mshaffer

+0

這有一個家庭作業的氣味。看起來OP的文字是一些作業的逐字。你可以檢查'marker'上的API文檔,該文檔應該能夠幫助你。 – wergeld

回答

1

從UserVoice的(允許不同的符號爲氣泡)的代碼可以與來自the demo with custom markers代碼組合。你需要定義你自己的形狀,然後你可以用它作爲標記符號。

Highcharts.SVGRenderer.prototype.symbols.star = function(x, y, w, h) { 
return [ 
    'M', x, y + 0.4 * h, 
    'L', x + 0.35 * w, y + 0.35 * h, 
    'L', x + 0.5 * w, y, 
    'L', x + 0.65 * w, y + 0.35 * h, 
    'L', x + w, y + 0.4 * h, 
    'L', x + 0.75 * w, y + 0.65 * h, 
    'L', x + 0.85 * w, y + h, 
    'L', x + 0.5 * w, y + 0.8 * h, 
    'L', x + w * 0.15, y + h, 
    'L', x + 0.25 * w, y + 0.65 * h, 
    'Z' 
]; 
}; 

if (Highcharts.VMLRenderer) { 
Highcharts.VMLRenderer.prototype.symbols.star = Highcharts.SVGRenderer.prototype.symbols.star; 
} 

例如:http://jsfiddle.net/un9faeed/3/

例如:https://jsfiddle.net/kx62dztf/2/

+0

不錯的例子。怎麼樣一個URL符號;例如,PNG? – mshaffer

+0

這裏是一些代碼來生成任何正多邊形替換一個圓...邊> 3,半徑是相同的圓會有: – mshaffer

+0

$ points = array(); \t \t \t爲($ a = 0; $一個<= 360; $一個+ = 360/$側) \t \t \t \t { \t \t \t \t $點[] = $ X + $半徑* COS( deg2rad($ A)); \t \t \t \t $ points [] = $ y + $ radius * sin(deg2rad($ a)); \t \t \t \t} – mshaffer