家好,很高興又見面了,我是"高級前端?進階?",由我帶著大家一起關注前端前沿、深入前端底層技術,大家一起進步,也歡迎大家關注、點贊、收藏、轉發,您的支持是我不斷創作的動力。
ApexCharts 是現代 JavaScript 圖表庫,允許開發者使用簡單的 API 和 100 多個開箱即用型示例構建交互式數據可視化。
ApexCharts 包含很多優秀的功能,比如十多種圖表類型可在應用程序和儀表板中提供美觀、響應靈敏的可視化效果。在 FireFox>31+、Chrome>=35+、Safari>=6+、Edge、IE11 等版本的瀏覽器中完全可用。
ApexCharts的典型特點包括:
目前 ApexCharts 在 Github 上通過 MIT 協議開源,有超過 13.2k 的 star、1.2k 的 fork、代碼貢獻者 150+,妥妥的前端優質開源項目。
首先需要導入相應的庫:
import ApexCharts from 'apexcharts';
可以通過下面的代碼使用最少的配置創建基本的條形圖:
var options = {
chart: {
type: 'bar',
},
series: [
{
name: 'sales',
data: [30, 40, 35, 50, 49, 60, 70, 91, 125],
},
],
xaxis: {
categories: [1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999],
},
};
var chart = new ApexCharts(document.querySelector('#chart'), options);
chart.render();
渲染效果如下:
借助于 ApexCharts,開發者還可以創建不同圖表的組合,同步它們并提供無限可能的外觀。
https://github.com/apexcharts/apexcharts.js#readme
https://apexcharts.com/docs/creating-first-javascript-chart/#
內鋅濕法冶金仍以常規的鋅精礦沸騰焙燒——浸出—凈化——電積為主流。為解決常規浸出法存在的浸出渣回轉窯還原揮發能耗高、環境污染大的弊端,又發展出了熱酸浸出黃鉀鐵釩法和熱酸浸出低污染沉鐵法;針鐵礦除鐵法在丹霞冶煉廠和株洲冶煉廠也實現了工業應用。云南祥云飛龍實業有限責任公司以難處理含氟氯的氧化鋅二次物料為原料,開發出了自主知識產權的“浸出一萃取一鋅電積”的新技術,自2005年以來相繼建成了1萬t、2萬t和10萬t規模的鋅冶煉廠,對我國再生鋅冶煉技術的發展作出了重要貢獻。
鉛冶煉行業推廣液態高鉛渣直接還原煉鉛技術,取代原有燒結機鼓風爐煉鉛工藝,使我國鉛冶煉工藝技術提高到世界先進水平,大大降低了鉛冶煉能耗、SO 及含重金屬煙塵的排放量。今后鉛、鋅冶煉重點是推廣液態高鉛渣直接還原工藝技術、完善和提高氧氣底吹熔煉爐熔煉技術、鉛富氧閃速熔煉工藝、鉛漩渦柱閃速熔煉工藝及高壓或常壓富氧直接浸鋅技術。4.3.2 鉛鋅冶金科技進步發展方向
鉛鋅行業技術升級加快,采用清潔環保、節能降耗的先進工藝,提高資源綜合利用水平的鉛鋅聯合冶煉成為發展方向。鉛鋅行業技術不斷進步,正在逐漸改變國內鉛鋅產業的生產結構,推動產業向綠色低碳發展。
有色金屬會議拓展:
第五屆全國火法冶金工藝技術與裝備交流會
https://www.china-mcc.com/meet_show-234.html
pyecharts簡介
pyecharts 是一個用于生成 Echarts 圖表的類庫, Echarts 是一個由百度開源的數據可視化,憑借著良好的交互性,精巧的圖表設計,得到了眾多開發者的認可。而 Python 是一門富有表達力的語言,很適合用于數據處理。當數據分析遇上數據可視化時,pyecharts 誕生了。
Pyecharts官網
https://pyecharts.org/#/zh-cn/intro
pyecharts安裝
pip install pyecharts
使用pyecharts可以繪制如下圖表:
Scatter | 散點圖 | Funnel | 漏斗圖 |
Bar | 柱狀圖 | Gauge | 儀表盤 |
Pie | 餅圖 | Graph | 關系圖 |
Line | 折線/面積圖 | Liquid | 水球圖 |
Radar | 雷達圖 | Parallel | 平行坐標系 |
Sankey | ?;鶊D | Polar | 極坐標系 |
WordCloud | 詞云圖 | HeatMap | 熱力圖 |
這里我們簡介一下常用的圖表的API:
導入相關庫:
from pyecharts.charts import *
import pyecharts.options as opts
總體說明一下:
這里我們繪制一個正余弦的散點圖
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
y2 = np.cos(x)
# 參數設置
(Scatter() # 圖形種類
.add_xaxis(xaxis_data=x) # 設置x軸序列
.add_yaxis(series_name='sin', y_axis=y) # 設置y軸序列
.add_yaxis(series_name='cos', y_axis=y2, label_opts=opts.LabelOpts(is_show=False)) # is_show = False:表示不顯示數值部分
).render_notebook()
結果如下:
from pyecharts.charts import Line
import pyecharts.options as opts
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
(
Line()
.add_xaxis(xaxis_data=x)
.add_yaxis(series_name='sin', y_axis=y, label_opts=opts.LabelOpts(is_show=False))
.add_yaxis(series_name='cos', y_axis=np.cos(x), label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title='曲線'),
tooltip_opts=opts.TooltipOpts(axis_pointer_type='cross')
)
).render_notebook()
結果如下所示:
柱狀圖的繪制:
from pyecharts.charts import Bar
bar = (
Bar()
.add_xaxis(["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
)
bar.render_notebook()
結果如下:
當然,這里只是最基本的柱圖使用;我們還可以繪制混合柱圖;
from pyecharts.charts import Bar
import pyecharts.options as opts
num = [110, 136, 108, 48, 111, 112, 103]
num2 = [90, 110, 101, 70, 90, 120, 99]
lab = ['哈士奇', '薩摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
(
Bar(init_opts=opts.InitOpts(width='720px', height='320px'))
.add_xaxis(xaxis_data=lab)
.add_yaxis(series_name='商家A', yaxis_data=num)
.add_yaxis(series_name='商家B', yaxis_data=num2)
.set_global_opts(
title_opts=opts.TitleOpts(title='各商家擁有犬類數量情況', subtitle='如有雷同,純屬意外')
)
).render_notebook()
結果如下所示:
普通餅圖:
from pyecharts.charts import Pie
import pyecharts.options as opts
num = [110, 136, 108, 48, 111, 112, 103]
lab = ['哈士奇', '薩摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
(
Pie(init_opts=opts.InitOpts(width='720px', height='320px'))
.add(series_name='',
data_pair=[(j, i) for i, j in zip(num, lab)]
)
).render_notebook()
結果如下:
環狀餅圖:
from pyecharts.charts import Pie
import pyecharts.options as opts
num = [110, 136, 108, 48, 111, 112, 103]
lab = ['哈士奇', '薩摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
(
Pie(init_opts=opts.InitOpts(width='720px', height='320px'))
.add(series_name='',
radius=['40%', '75%'],
data_pair=[(j, i) for i, j in zip(num, lab)]
)
).render_notebook()
如圖所示:
玫瑰餅圖:
from pyecharts.charts import Pie
import pyecharts.options as opts
num = [110, 136, 108, 48, 111, 112, 103]
lab = ['哈士奇', '薩摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
(
Pie(init_opts=opts.InitOpts(width='720px', height='320px'))
.add(series_name='',
# radius=['40%', '75%'],
# center=['25%', '50%'],
rosetype='radius',
data_pair=[(j, i) for i, j in zip(num, lab)]
)
).render_notebook()
如圖所示:
from pyecharts.charts import Bar, Line
num = [110, 136, 108, 48, 111, 112, 103]
lab = ['哈士奇', '薩摩耶', '泰迪', '金毛', '牧羊犬', '吉娃娃', '柯基']
bar = (
Bar(init_opts=opts.InitOpts(width='720px', height='320px'))
.add_xaxis(xaxis_data=lab)
.add_yaxis(series_name='', yaxis_data=num)
)
lines = (
Line()
.add_xaxis(xaxis_data=lab)
.add_yaxis(series_name='', y_axis=num, label_opts=opts.LabelOpts(is_show=False))
)
bar.overlap(lines).render_notebook()
如圖所示:
Pyecharts可以繪制各種各樣的圖表,主流的一個數據可視化的庫,因為相對于matplotlib,seaborn等數據可視化庫,它的交互性比較好,圖形繪制的比較清晰美觀,所以應用的比較廣泛,本文主要就普通常用圖形做了簡單的總結,當然它還可以繪制地理圖形,具體參見官網相關API。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。