通过ssr-echarts,服务端生成echarts图

ssr-echarts :一个开源项目,它能够服务端渲染 ECharts 图表,并直接生成 PNG 图片返回。该项目提供了多种主题,并且支持 GET 和 POST 请求。如果参数较多,建议使用 POST 方法。用户可以自己部署这个服务。

1. 服务端安装ssr-echarts服务.

gitlab地址:ssr-echarts: 服务端渲染echarts,直接生成PNG图片返回,可用于发送邮件等。可以设置宽度、高度、主题,包含15种主题。

1.1 SSR-ECHARTS介绍

用于服务端渲染生成echarts图片。可以使用Get或Post。如果是GET需要UrlEncode。如果参数较多建议使用POST,通过后端转发buffer。

主题:light,dark,chalk,essos,halloween,infographic,macarons,purple-passion,roma,romantic,shine,vintage,walden,westeros,wonderland

需要自己部署,源网站已经关闭无法访问。

1.2 部署方式:

Docker部署

环境:Docker

指令:

docker pull lz1998/ssr-echarts

docker run -d -p 3000:3000 lz1998/ssr-echarts

1.3 本地npm部署

环境:nodejs 12

安装依赖:npm instsall

运行方式:PORT=3000 npm run serve

1.4 使用说明

发送请求:

METHOD:POST/GET

URL:http://localhost:3000/

HEADER:Content-Type:application/json

BODY:

{"theme": "macarons","width": 800,"height": 600,"xAxis": {"type": "category","data": ["1","1","1","1","1","1","1"]},"yAxis": {"type": "value"},"series": [{"data": [820, 932, 901, 934, 1290, 1330, 1320],"type": "line"}]
}

2. 使用示例

2.1  曲线图

请求curl:

curl --location --request POST 'http://172.16.8.51:3000/' \
--header 'Content-Type: application/json' \
--data-raw '{"theme": "macarons","width": 800,"height": 600,"xAxis": {"type": "category","data": ["1","1","1","1","1","1","1"]},"yAxis": {"type": "value"},"series": [{"data": [820, 932, 901, 934, 1290, 1330, 1320],"type": "line"}]
}'

2.2 环装饼图

请求curl:

curl --location --request POST 'http://172.16.8.51:3000/' \
--header 'Content-Type: application/json' \
--data-raw ' {"angleAxis": {},"radiusAxis": {"type": "category","data": ["Mon", "Tue", "Wed","Thu"],"z": 10},"polar": {},"series": [{"type": "bar","data": [1, 2, 3, 4],"coordinateSystem": "polar","name": "A","stack": "a","emphasis": {"focus": "series"}},{"type": "bar","data": [2, 4, 6, 8],"coordinateSystem": "polar","name": "B","stack": "a","emphasis": {"focus": "series"}},{"type": "bar","data": [1, 2, 3, 4],"coordinateSystem": "polar","name": "C","stack": "a","emphasis": {"focus": "series"}}],"legend": {"show": true,"data": ["A","B", "C"]}
}'

2.3 桑基图

curl --location --request POST 'http://172.16.8.51:3000/' \
--header 'Content-Type: application/json' \
--data-raw ' {"title": {"text": "Node Align Left"},"tooltip": {"trigger": "item","triggerOn": "mousemove"},"animation": false,"series": [{"type": "sankey","emphasis": {"focus": "adjacency"},"nodeAlign": "right","data": [
{"name":"Agricultural '\''waste'\''"},
{"name":"Bio-conversion"},
{"name":"Liquid"},
{"name":"Losses"},
{"name":"Solid"},
{"name":"Gas"},
{"name":"Biofuel imports"},
{"name":"Biomass imports"},
{"name":"Coal imports"},
{"name":"Coal"},
{"name":"Coal reserves"},
{"name":"District heating"},
{"name":"Industry"},
{"name":"Heating and cooling - commercial"},
{"name":"Heating and cooling - homes"},
{"name":"Electricity grid"},
{"name":"Over generation / exports"},
{"name":"H2 conversion"},
{"name":"Road transport"},
{"name":"Agriculture"},
{"name":"Rail transport"},
{"name":"Lighting & appliances - commercial"},
{"name":"Lighting & appliances - homes"},
{"name":"Gas imports"},
{"name":"Ngas"},
{"name":"Gas reserves"},
{"name":"Thermal generation"},
{"name":"Geothermal"},
{"name":"H2"},
{"name":"Hydro"},
{"name":"International shipping"},
{"name":"Domestic aviation"},
{"name":"International aviation"},
{"name":"National navigation"},
{"name":"Marine algae"},
{"name":"Nuclear"},
{"name":"Oil imports"},
{"name":"Oil"},
{"name":"Oil reserves"},
{"name":"Other waste"},
{"name":"Pumped heat"},
{"name":"Solar PV"},
{"name":"Solar Thermal"},
{"name":"Solar"},
{"name":"Tidal"},
{"name":"UK land based bioenergy"},
{"name":"Wave"},
{"name":"Wind"}
],"links": [
{"source": "Agricultural '\''waste'\''", "target": "Bio-conversion",  "value": 124.729},
{"source": "Bio-conversion", "target": "Liquid",  "value": 0.597},
{"source": "Bio-conversion",  "target": "Losses",  "value": 26.862},
{"source": "Bio-conversion",  "target": "Solid",  "value": 280.322},
{"source": "Bio-conversion", "target": "Gas",  "value": 81.144},
{"source": "Biofuel imports", "target": "Liquid",  "value": 35},
{"source": "Biomass imports", "target": "Solid",  "value": 35},
{"source": "Coal imports", "target": "Coal", "value": 11.606},
{"source": "Coal reserves","target": "Coal", "value": 63.965},
{"source": "Coal", "target": "Solid", "value": 75.571},
{"source": "District heating", "target": "Industry", "value": 10.639},
{"source": "District heating", "target": "Heating and cooling - commercial", "value": 22.505},
{"source": "District heating", "target": "Heating and cooling - homes", "value": 46.184},
{"source": "Electricity grid", "target": "Over generation / exports", "value": 104.453},
{"source": "Electricity grid", "target": "Heating and cooling - homes", "value": 113.726},
{"source": "Electricity grid", "target": "H2 conversion", "value": 27.14},
{"source": "Electricity grid", "target": "Industry", "value": 342.165},
{"source": "Electricity grid", "target": "Road transport", "value": 37.797},
{"source": "Electricity grid", "target": "Agriculture", "value": 4.412},
{"source": "Electricity grid", "target": "Heating and cooling - commercial", "value": 40.858},
{"source": "Electricity grid", "target": "Losses", "value": 56.691},
{"source": "Electricity grid", "target": "Rail transport", "value": 7.863},
{"source": "Electricity grid", "target": "Lighting & appliances - commercial", "value": 90.008},
{"source": "Electricity grid", "target": "Lighting & appliances - homes", "value": 93.494},
{"source": "Gas imports", "target": "Ngas", "value": 40.719},
{"source": "Gas reserves", "target": "Ngas", "value": 82.233},
{"source": "Gas", "target": "Heating and cooling - commercial", "value": 0.129},
{"source": "Gas", "target": "Losses", "value": 1.401},
{"source": "Gas", "target": "Thermal generation", "value": 151.891},
{"source": "Gas", "target": "Agriculture", "value": 2.096},
{"source": "Gas", "target": "Industry", "value": 48.58},
{"source": "Geothermal", "target": "Electricity grid", "value": 7.013},
{"source": "H2 conversion", "target": "H2", "value": 20.897},
{"source": "H2 conversion", "target": "Losses", "value": 6.242},
{"source": "H2", "target": "Road transport", "value": 20.897},
{"source": "Hydro", "target": "Electricity grid", "value": 6.995},
{"source": "Liquid", "target": "Industry", "value": 121.066},
{"source": "Liquid", "target": "International shipping", "value": 128.69},
{"source": "Liquid", "target": "Road transport", "value": 135.835},
{"source": "Liquid", "target": "Domestic aviation", "value": 14.458},
{"source": "Liquid", "target": "International aviation", "value": 206.267},
{"source": "Liquid", "target": "Agriculture", "value": 3.64},
{"source": "Liquid", "target": "National navigation", "value": 33.218},
{"source": "Liquid", "target": "Rail transport", "value": 4.413},
{"source": "Marine algae", "target": "Bio-conversion", "value": 4.375},
{"source": "Ngas", "target": "Gas", "value": 122.952},
{"source": "Nuclear", "target": "Thermal generation", "value": 839.978},
{"source": "Oil imports", "target": "Oil", "value": 504.287},
{"source": "Oil reserves", "target": "Oil", "value": 107.703},
{"source": "Oil", "target": "Liquid", "value": 611.99},
{"source": "Other waste", "target": "Solid", "value": 56.587},
{"source": "Other waste", "target": "Bio-conversion", "value": 77.81},
{"source": "Pumped heat", "target": "Heating and cooling - homes", "value": 193.026},
{"source": "Pumped heat", "target": "Heating and cooling - commercial", "value": 70.672},
{"source": "Solar PV", "target": "Electricity grid", "value": 59.901},
{"source": "Solar Thermal", "target": "Heating and cooling - homes", "value": 19.263},
{"source": "Solar", "target": "Solar Thermal", "value": 19.263},
{"source": "Solar", "target": "Solar PV", "value": 59.901},
{"source": "Solid", "target": "Agriculture", "value": 0.882},
{"source": "Solid", "target": "Thermal generation", "value": 400.12},
{"source": "Solid", "target": "Industry", "value": 46.477},
{"source": "Thermal generation", "target": "Electricity grid", "value": 525.531},
{"source": "Thermal generation", "target": "Losses", "value": 787.129},
{"source": "Thermal generation", "target": "District heating", "value": 79.329},
{"source": "Tidal", "target": "Electricity grid", "value": 9.452},
{"source": "UK land based bioenergy", "target": "Bio-conversion", "value": 182.01},
{"source": "Wave", "target": "Electricity grid", "value": 19.013},
{"source": "Wind", "target": "Electricity grid", "value": 289.366}
],"lineStyle": {"color": "source","curveness": 0.5}}]}'

2.4 散点图

curl --location --request POST 'http://172.16.8.51:3000/' \
--header 'Content-Type: application/json' \
--data-raw '{"theme": "light","backgroundColor": "#FFFFFF",
"title": {
"text": "Male and female height and weight distribution",
"subtext": "Data from: Heinz 2003"
},
"grid": {
"left": "3%",
"right": "7%",
"bottom": "7%",
"containLabel": true
},
"tooltip": {"showDelay": 0,"axisPointer": {
"show": true,
"type": "cross",
"lineStyle": {
"type": "dashed",
"width": 1
}
}
},
"toolbox": {"feature": {
"dataZoom": {},
"brush": {
"type": ["rect", "polygon", "clear"]
}
}
},
"brush": {},
"legend": {
"data": ["Female", "Male"],
"left": "center",
"bottom": 10
},
"xAxis": [
{
"type": "value","scale": true,
"axisLabel": {
"formatter": "{value} cm"
},
"splitLine": {
"show": false
}
}
],
"yAxis": [
{
"type": "value",
"scale": true,
"axisLabel": {"formatter": "{value} kg"
},
"splitLine": {
"show": false
}
}
],
"series": [
{"name": "Female",
"type": "scatter",
"emphasis": {
"focus": "series"
},"data": [[161.2, 51.6], [167.5, 59.0], [159.5, 49.2], [157.0, 63.0], [155.8, 53.6],
[170.0, 59.0], [159.1, 47.6], [166.0, 69.8], [176.2, 66.8], [160.2, 75.2],
[172.5, 55.2], [170.9, 54.2], [172.9, 62.5], [153.4, 42.0], [160.0, 50.0],
[147.2, 49.8], [168.2, 49.2], [175.0, 73.2], [157.0, 47.8], [167.6, 68.8],
[159.5, 50.6], [175.0, 82.5], [166.8, 57.2], [176.5, 87.8], [170.2, 72.8],
[174.0, 54.5], [173.0, 59.8], [179.9, 67.3], [170.5, 67.8], [160.0, 47.0],
[154.4, 46.2], [162.0, 55.0], [176.5, 83.0], [160.0, 54.4], [152.0, 45.8],
[162.1, 53.6], [170.0, 73.2], [160.2, 52.1], [161.3, 67.9], [166.4, 56.6],
[168.9, 62.3], [163.8, 58.5], [167.6, 54.5], [160.0, 50.2], [161.3, 60.3],
[167.6, 58.3], [165.1, 56.2], [160.0, 50.2], [170.0, 72.9], [157.5, 59.8],
[167.6, 61.0], [160.7, 69.1], [163.2, 55.9], [152.4, 46.5], [157.5, 54.3],
[168.3, 54.8], [180.3, 60.7], [165.5, 60.0], [165.0, 62.0], [164.5, 60.3],
[156.0, 52.7], [160.0, 74.3], [163.0, 62.0], [165.7, 73.1], [161.0, 80.0],
[162.0, 54.7], [166.0, 53.2], [174.0, 75.7], [172.7, 61.1], [167.6, 55.7],
[151.1, 48.7], [164.5, 52.3], [163.5, 50.0], [152.0, 59.3], [169.0, 62.5],
[164.0, 55.7], [161.2, 54.8], [155.0, 45.9], [170.0, 70.6], [176.2, 67.2],
[170.0, 69.4], [162.5, 58.2], [170.3, 64.8], [164.1, 71.6], [169.5, 52.8],
[163.2, 59.8], [154.5, 49.0], [159.8, 50.0], [173.2, 69.2], [170.0, 55.9],
[161.4, 63.4], [169.0, 58.2], [166.2, 58.6], [159.4, 45.7], [162.5, 52.2],
[159.0, 48.6], [162.8, 57.8], [159.0, 55.6], [179.8, 66.8], [162.9, 59.4],
[161.0, 53.6], [151.1, 73.2], [168.2, 53.4], [168.9, 69.0], [173.2, 58.4],
[171.8, 56.2], [178.0, 70.6], [164.3, 59.8], [163.0, 72.0], [168.5, 65.2],
[166.8, 56.6], [172.7, 105.2], [163.5, 51.8], [169.4, 63.4], [167.8, 59.0],
[159.5, 47.6], [167.6, 63.0], [161.2, 55.2], [160.0, 45.0], [163.2, 54.0],
[162.2, 50.2], [161.3, 60.2], [149.5, 44.8], [157.5, 58.8], [163.2, 56.4],
[172.7, 62.0], [155.0, 49.2], [156.5, 67.2], [164.0, 53.8], [160.9, 54.4],
[162.8, 58.0], [167.0, 59.8], [160.0, 54.8], [160.0, 43.2], [168.9, 60.5],
[158.2, 46.4], [156.0, 64.4], [160.0, 48.8], [167.1, 62.2], [158.0, 55.5],
[167.6, 57.8], [156.0, 54.6], [162.1, 59.2], [173.4, 52.7], [159.8, 53.2],
[170.5, 64.5], [159.2, 51.8], [157.5, 56.0], [161.3, 63.6], [162.6, 63.2],
[160.0, 59.5], [168.9, 56.8], [165.1, 64.1], [162.6, 50.0], [165.1, 72.3],
[166.4, 55.0], [160.0, 55.9], [152.4, 60.4], [170.2, 69.1], [162.6, 84.5],
[170.2, 55.9], [158.8, 55.5], [172.7, 69.5], [167.6, 76.4], [162.6, 61.4],
[167.6, 65.9], [156.2, 58.6], [175.2, 66.8], [172.1, 56.6], [162.6, 58.6],
[160.0, 55.9], [165.1, 59.1], [182.9, 81.8], [166.4, 70.7], [165.1, 56.8],
[177.8, 60.0], [165.1, 58.2], [175.3, 72.7], [154.9, 54.1], [158.8, 49.1],
[172.7, 75.9], [168.9, 55.0], [161.3, 57.3], [167.6, 55.0], [165.1, 65.5],
[175.3, 65.5], [157.5, 48.6], [163.8, 58.6], [167.6, 63.6], [165.1, 55.2],
[165.1, 62.7], [168.9, 56.6], [162.6, 53.9], [164.5, 63.2], [176.5, 73.6],
[168.9, 62.0], [175.3, 63.6], [159.4, 53.2], [160.0, 53.4], [170.2, 55.0],
[162.6, 70.5], [167.6, 54.5], [162.6, 54.5], [160.7, 55.9], [160.0, 59.0],
[157.5, 63.6], [162.6, 54.5], [152.4, 47.3], [170.2, 67.7], [165.1, 80.9],
[172.7, 70.5], [165.1, 60.9], [170.2, 63.6], [170.2, 54.5], [170.2, 59.1],
[161.3, 70.5], [167.6, 52.7], [167.6, 62.7], [165.1, 86.3], [162.6, 66.4],
[152.4, 67.3], [168.9, 63.0], [170.2, 73.6], [175.2, 62.3], [175.2, 57.7],
[160.0, 55.4], [165.1, 104.1], [174.0, 55.5], [170.2, 77.3], [160.0, 80.5],
[167.6, 64.5], [167.6, 72.3], [167.6, 61.4], [154.9, 58.2], [162.6, 81.8],
[175.3, 63.6], [171.4, 53.4], [157.5, 54.5], [165.1, 53.6], [160.0, 60.0],
[174.0, 73.6], [162.6, 61.4], [174.0, 55.5], [162.6, 63.6], [161.3, 60.9],
[156.2, 60.0], [149.9, 46.8], [169.5, 57.3], [160.0, 64.1], [175.3, 63.6],
[169.5, 67.3], [160.0, 75.5], [172.7, 68.2], [162.6, 61.4], [157.5, 76.8],
[176.5, 71.8], [164.4, 55.5], [160.7, 48.6], [174.0, 66.4], [163.8, 67.3]
],
"markArea": {
"silent": true,
"itemStyle": {
"color": "transparent",
"borderWidth": 1,
"borderType": "dashed"
},
"data": [
[
{"name": "Female Data Range",
"xAxis": "min",
"yAxis": "min"
},
{
"xAxis": "max",
"yAxis": "max"
}
]
]
},
"markPoint": {
"data": [
{ "type": "max",  "name": "Max" },
{ "type": "min",  "name": "Min" }
]
},
"markLine": {
"lineStyle": {
"type": "solid"
},
"data": [{ "type": "average",  "name": "AVG" }, { "xAxis": 160 }]
}
},
{"name": "Male",
"type": "scatter",
"emphasis": {"focus": "series"
},"data": [[174.0, 65.6], [175.3, 71.8], [193.5, 80.7], [186.5, 72.6], [187.2, 78.8],
[181.5, 74.8], [184.0, 86.4], [184.5, 78.4], [175.0, 62.0], [184.0, 81.6],
[180.0, 76.6], [177.8, 83.6], [192.0, 90.0], [176.0, 74.6], [174.0, 71.0],
[184.0, 79.6], [192.7, 93.8], [171.5, 70.0], [173.0, 72.4], [176.0, 85.9],
[176.0, 78.8], [180.5, 77.8], [172.7, 66.2], [176.0, 86.4], [173.5, 81.8],
[178.0, 89.6], [180.3, 82.8], [180.3, 76.4], [164.5, 63.2], [173.0, 60.9],
[183.5, 74.8], [175.5, 70.0], [188.0, 72.4], [189.2, 84.1], [172.8, 69.1],
[170.0, 59.5], [182.0, 67.2], [170.0, 61.3], [177.8, 68.6], [184.2, 80.1],
[186.7, 87.8], [171.4, 84.7], [172.7, 73.4], [175.3, 72.1], [180.3, 82.6],
[182.9, 88.7], [188.0, 84.1], [177.2, 94.1], [172.1, 74.9], [167.0, 59.1],
[169.5, 75.6], [174.0, 86.2], [172.7, 75.3], [182.2, 87.1], [164.1, 55.2],
[163.0, 57.0], [171.5, 61.4], [184.2, 76.8], [174.0, 86.8], [174.0, 72.2],
[177.0, 71.6], [186.0, 84.8], [167.0, 68.2], [171.8, 66.1], [182.0, 72.0],
[167.0, 64.6], [177.8, 74.8], [164.5, 70.0], [192.0, 101.6], [175.5, 63.2],
[171.2, 79.1], [181.6, 78.9], [167.4, 67.7], [181.1, 66.0], [177.0, 68.2],
[174.5, 63.9], [177.5, 72.0], [170.5, 56.8], [182.4, 74.5], [197.1, 90.9],
[180.1, 93.0], [175.5, 80.9], [180.6, 72.7], [184.4, 68.0], [175.5, 70.9],
[180.6, 72.5], [177.0, 72.5], [177.1, 83.4], [181.6, 75.5], [176.5, 73.0],
[175.0, 70.2], [174.0, 73.4], [165.1, 70.5], [177.0, 68.9], [192.0, 102.3],
[176.5, 68.4], [169.4, 65.9], [182.1, 75.7], [179.8, 84.5], [175.3, 87.7],
[184.9, 86.4], [177.3, 73.2], [167.4, 53.9], [178.1, 72.0], [168.9, 55.5],
[157.2, 58.4], [180.3, 83.2], [170.2, 72.7], [177.8, 64.1], [172.7, 72.3],
[165.1, 65.0], [186.7, 86.4], [165.1, 65.0], [174.0, 88.6], [175.3, 84.1],
[185.4, 66.8], [177.8, 75.5], [180.3, 93.2], [180.3, 82.7], [177.8, 58.0],
[177.8, 79.5], [177.8, 78.6], [177.8, 71.8], [177.8, 116.4], [163.8, 72.2],
[188.0, 83.6], [198.1, 85.5], [175.3, 90.9], [166.4, 85.9], [190.5, 89.1],
[166.4, 75.0], [177.8, 77.7], [179.7, 86.4], [172.7, 90.9], [190.5, 73.6],
[185.4, 76.4], [168.9, 69.1], [167.6, 84.5], [175.3, 64.5], [170.2, 69.1],
[190.5, 108.6], [177.8, 86.4], [190.5, 80.9], [177.8, 87.7], [184.2, 94.5],
[176.5, 80.2], [177.8, 72.0], [180.3, 71.4], [171.4, 72.7], [172.7, 84.1],
[172.7, 76.8], [177.8, 63.6], [177.8, 80.9], [182.9, 80.9], [170.2, 85.5],
[167.6, 68.6], [175.3, 67.7], [165.1, 66.4], [185.4, 102.3], [181.6, 70.5],
[172.7, 95.9], [190.5, 84.1], [179.1, 87.3], [175.3, 71.8], [170.2, 65.9],
[193.0, 95.9], [171.4, 91.4], [177.8, 81.8], [177.8, 96.8], [167.6, 69.1],
[167.6, 82.7], [180.3, 75.5], [182.9, 79.5], [176.5, 73.6], [186.7, 91.8],
[188.0, 84.1], [188.0, 85.9], [177.8, 81.8], [174.0, 82.5], [177.8, 80.5],
[171.4, 70.0], [185.4, 81.8], [185.4, 84.1], [188.0, 90.5], [188.0, 91.4],
[182.9, 89.1], [176.5, 85.0], [175.3, 69.1], [175.3, 73.6], [188.0, 80.5],
[188.0, 82.7], [175.3, 86.4], [170.5, 67.7], [179.1, 92.7], [177.8, 93.6],
[175.3, 70.9], [182.9, 75.0], [170.8, 93.2], [188.0, 93.2], [180.3, 77.7],
[177.8, 61.4], [185.4, 94.1], [168.9, 75.0], [185.4, 83.6], [180.3, 85.5],
[174.0, 73.9], [167.6, 66.8], [182.9, 87.3], [160.0, 72.3], [180.3, 88.6],
[167.6, 75.5], [186.7, 101.4], [175.3, 91.1], [175.3, 67.3], [175.9, 77.7],
[175.3, 81.8], [179.1, 75.5], [181.6, 84.5], [177.8, 76.6], [182.9, 85.0],
[177.8, 102.5], [184.2, 77.3], [179.1, 71.8], [176.5, 87.9], [188.0, 94.3],
[174.0, 70.9], [167.6, 64.5], [170.2, 77.3], [167.6, 72.3], [188.0, 87.3],
[174.0, 80.0], [176.5, 82.3], [180.3, 73.6], [167.6, 74.1], [188.0, 85.9],
[180.3, 73.2], [167.6, 76.3], [183.0, 65.9], [183.0, 90.9], [179.1, 89.1],
[170.2, 62.3], [177.8, 82.7], [179.1, 79.1], [190.5, 98.2], [177.8, 84.1],
[180.3, 83.2], [180.3, 83.2]
],
"markArea": {
"silent": true,
"itemStyle": {
"color": "transparent",
"borderWidth": 1,
"borderType": "dashed"
},
"data": [
[
{"name": "Male Data Range",
"xAxis": "min",
"yAxis": "min"
},
{
"xAxis": "max",
"yAxis": "max"
}
]
]
},
"markPoint": {
"data": [
{ "type": "max",  "name": "Max" },
{ "type": "min",  "name": "Min" }
]
},
"markLine": {
"lineStyle": {
"type": "solid"
},
"data": [{ "type": "average", "name": "Average" }, { "xAxis": 170 }]
}
}
]
}'

3. 备注

 支持多个主题,可以修改 传参中的  theme  用来修改不同主题.

"theme": "light"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/23033.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Three.js-实现加载图片并旋转

1.实现效果 2. 实现步骤 2.1创建场景 const scene new THREE.Scene(); 2.2添加相机 说明: fov(视场角):视场角决定了相机的视野范围,即相机可以看到的角度范围。较大的视场角表示更广阔的视野,但可能…

SBOM是如何帮助医疗器械制造商提高产品透明度的?

SBOM(软件物料清单)通过以下方式帮助医疗器械制造商提高产品透明度: 1. 详细记录软件组成 SBOM详细列出了医疗器械所使用的所有软件组件、版本、作者、许可证信息等。这使得制造商能够清晰地了解产品的软件组成,包括每个组件的来…

基于springboot实现民族婚纱预定系统项目【项目源码+论文说明】

基于springboot实现民族婚纱预定系统的设计演示 摘要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本民族婚纱预定系统就是在这样的大环境下诞生,其可…

【Emgu CV教程】10.15、FillPoly()不规则形状填充颜色

文章目录 一、概念二、填充不规则图形1.原始素材2.代码3.运行结果 二、最大轮廓填充颜色1.原始素材2.代码3.运行结果 一、概念 图像的连通域是指图像中具有相同像素值并且位置相邻的像素组成的区域,连通域分析是指在图像中寻找出彼此互相独立的连通域并将其标记出来…

【最新鸿蒙应用开发】——Want信息载体

信息传递载体Want 1、概述 上一章节我们学习了UIAbility组件 【最新鸿蒙应用开发】——一篇搞懂什么是UIAbility-CSDN博客 ,其中组件间的交互传递信息的媒介就是Want,本章节我们来更加深入学习Want的相关知识。 Want是一种对象,用于在应用组…

计算机毕业设计项目、管理系统、可视化大屏、大数据分析、协同过滤、推荐系统、SSM、SpringBoot、Spring、Mybatis、小程序项目编号1-500

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…

桌面型激光雕刻机的发展前景及TMC应用优势

一、行业现状 近两年来,激光雕刻行业正处于快速发展阶段。随着人们生活水平的提高,对个性化、定制化产品的需求日益增加,激光雕刻以其独特的创意和精美的效果,满足了消费者对个性化产品的追求。同时,随着科技的不断进…

OCP 安装 OceanBase集群(企业版3.2.4.1)

创建集群 登录OCP界面 1.点击左侧工具栏中的集群 2.进入集群页面后 点击 右上角的创建集群 集群设置 进入 创建集群 页面,进行 目标集群 配置 集群种类 根据 生产环境 选择 分布式 或者 单机集中式,第一次安装 集群类型 选择 主集群。 注意&#xf…

计算机网络到底是指什么?

计算机网络是信息技术领域中最为核心和复杂的一部分,它涵盖了众多的技术原理和应用。下面,我们将从技术层面深入探讨计算机网络的相关内容。 一、计算机网络的分层模型 计算机网络的分层模型是网络通信的基石,它将网络通信过程划分为不同的层…

各大AI模型训练成本大比拼

像OpenAI的ChatGPT、谷歌的Gemini Ultra这样的高级AI模型,训练它们通常需要数百万美元的费用,且该成本还在迅速上升。随着计算需求的增加,训练它们所需的计算能力的费用也在飙升。为此,AI公司正在重新考虑如何训练这些生成式AI系统…

两站图片滑动对比效果实现(VUE3)

像这种图片滑动对比的效果,网上还不少见吧,但是网上却不好找到完整现成的实现代码,我找到几个地方有类似的代码,但是都不好直接移植到代码里,因为很多都是使用原生htmlcssjs实现,太复杂了。反而不好应用到v…

Qt for Android 之 OpenCV编译(Windows下编译)

简介 前两天刚好更新了4.10, 这里以4.10作为示例进行编译, Qt版本是Qt6.6.2。 准备OpenCV的Android库 一. 使用官方编译好的库 1. 下载OpenCV android SDK opencv-4.10.0-android-sdk.zip 2. 解压缩 官方提供的包含了多个架构的opencv android库 二. 自行编译…

十三、【源码】ResultMap解析

源码地址:https://github.com/mybatis/mybatis-3/ 仓库地址:https://gitcode.net/qq_42665745/mybatis/-/tree/13-resultMap ResultMap解析 分为两部分:解析和使用 1.解析 解析XML的时候单独解析所有的resultMap标签,封装成Re…

MySQL 核心模块揭秘 | 19 期 | 锁模块里有什么?什么样?

InnoDB 中管理表锁和行锁的锁模块,也就是传说中的锁子系统,在内存里是什么样的? 作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。 爱可生开源社区出品…

LabVIEW开发EOL功能测试系统

LabVIEW开发EOL功能测试系统 介绍了一种基于LabVIEW开发的EOL功能测试系统方案,涵盖软件架构、工作流程、模块化设计、低耦合性、易于修改与维护、稳定性及硬件选型。系统通过高效的CAN通信实现对电机控制器的全面测试,确保运行可靠并支持未来的升级需求…

危机公关之负面信息优化技巧解析

当今时代,网络发布信息没有任何门槛,任何人可以通过互联网发布信息,这使负面信息产生的可能性大大提高,企业形成危机的可能性也大大提高。针对网络上的负面信息处理得当可能并不会对品牌造成伤害,处理不当就很可能给企…

QT之可拖动布局研究

1. 背景 最开始只用到了最基本的水平布局 、垂直布局。它的好处就是窗口整体缩放后,控件也自动等比例缩放。 但是比如水平布局之中的控件宽度比例、垂直布局之中的控件高度比例都是固定的。 平时也不怎么开发界面,最近有个需求,想界面上的…

Atlassian企业日技术分享:AI在ITSM中的创新实践与应用、Jira服务管理平台AI功能介绍

2024年5月17日,Atlassian中国合作伙伴企业日活动在上海成功举办。活动以“AI协同 创未来——如何利用人工智能提升团队协作,加速产品交付”为主题,深入探讨了AI技术在团队协作与产品交付中的创新应用与实践,吸引了众多业内专家、企…

深圳比创达电子EMC|EMC与EMI一站式解决方案:攻克电磁兼容难题

在当今这个科技日新月异、电子产品层出不穷的时代,电磁兼容(EMC)与电磁干扰(EMI)问题愈发凸显其重要性。为了确保电子设备的正常运行,减少电磁干扰对环境和人体的影响,EMC与EMI一站式解决方案成…

【回眸】Linux内核(十)system()函数与popen()函数

前言 system()函数的作用是执行一个shell脚本或者shell指令 popen与system()函数类似,不同点是popen()函数可以获取运行的shell脚本或者命令的输出结果 system() 函数参数 #include <stdlib.h> int system(const char *comand) 参考示例代码: #include <stdio.…