• Echarts的自我学习记录


    我这是黑马教学以及自己学习的记录 

    一、大屏可视化的布局问题

    1、首先根据设计稿的尺寸来进行编写,视频内设计稿是1920,标准屏幕。

    2、采用了flexible.js和px-to-rem

    1. (function flexible(window, document) {
    2. var docEl = document.documentElement;
    3. var dpr = window.devicePixelRatio || 1;
    4. // adjust body font size
    5. function setBodyFontSize() {
    6. if (document.body) {
    7. document.body.style.fontSize = 12 * dpr + "px";
    8. } else {
    9. document.addEventListener("DOMContentLoaded", setBodyFontSize);
    10. }
    11. }
    12. setBodyFontSize();
    13. // set 1rem = viewWidth / 10
    14. function setRemUnit() {
    15. var rem = docEl.clientWidth / 24;
    16. docEl.style.fontSize = rem + "px";
    17. }
    18. setRemUnit();
    19. // reset rem unit on page resize
    20. window.addEventListener("resize", setRemUnit);
    21. window.addEventListener("pageshow", function(e) {
    22. if (e.persisted) {
    23. setRemUnit();
    24. }
    25. });
    26. // detect 0.5px supports
    27. if (dpr >= 2) {
    28. var fakeBody = document.createElement("body");
    29. var testElement = document.createElement("div");
    30. testElement.style.border = ".5px solid transparent";
    31. fakeBody.appendChild(testElement);
    32. docEl.appendChild(fakeBody);
    33. if (testElement.offsetHeight === 1) {
    34. docEl.classList.add("hairlines");
    35. }
    36. docEl.removeChild(fakeBody);
    37. }
    38. })(window, document);

     

    2、echarts

    ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

       快速上手 - Handbook - Apache ECharts

    引入页面四步走

    第一步导入echarts,将相关插件引入页面

       

    第二步 将这个图表放入一个具有大小和唯一标识的DOM容器中

            var myChart = echarts.init(document.querySelector(".bar .chart"));
    

    第三步 指定配置项和数据

    1. // 指定图表的配置项和数据
    2. var option = {
    3. title: {
    4. text: 'ECharts 入门示例'
    5. },
    6. tooltip: {},
    7. legend: {
    8. data: ['销量']
    9. },
    10. xAxis: {
    11. data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
    12. },
    13. yAxis: {},
    14. series: [
    15. {
    16. name: '销量',
    17. type: 'bar',
    18. data: [5, 20, 36, 10, 10, 20]
    19. }
    20. ]
    21. };

    第四步 将配置项设置给echarts实例

    myChart.setOption(option);

    最后一步  适配问题

    1. // 让图表跟随屏幕自动的去适应
    2. window.addEventListener("resize", function () {
    3. myChart.resize();
    4. });

    opction实例中的属性

    1、 grid决定我们的柱状图的大小

    2、xAxis是控制x轴的各项设置

    1. // 设置x轴标签文字样式
    2. // x轴的文字颜色和大小
    3. axisLabel: {
    4. color: "rgba(255,255,255,.6)",
    5. fontSize: "12"
    6. },
    7. // x轴样式不显示
    8. axisLine: {
    9. show: false
    10. // 如果想要设置单独的线条样式
    11. // lineStyle: {
    12. // color: "rgba(255,255,255,.1)",
    13. // width: 1,
    14. // type: "solid"
    15. }
    16. }

    3、y轴的相关配置 yAxis

    1. yAxis: [
    2. {
    3. type: "value",
    4. // 修改刻度标签 相关样式
    5. axisLabel: {
    6. color: "rgba(255,255,255,.6) ",
    7. fontSize: 12,
    8. },
    9. // y轴的线条改为了 2像素
    10. axisLine: {
    11. lineStyle: {
    12. color: "rgba(255,255,255,.1)",
    13. width: 2,
    14. },
    15. },
    16. // y轴分割线的颜色
    17. splitLine: {
    18. lineStyle: {
    19. color: "rgba(255,255,255,.1)",
    20. },
    21. },
    22. },
    23. ],

     4、series是图表数据的控制属性

    1. // 图标数据
    2. series: [{
    3. name:'新增粉丝',
    4. data: [24, 40, 101, 134, 90, 230, 210, 230, 120, 230, 210, 120],
    5. type: 'line',
    6. smooth: true
    7. },{
    8. name:'新增游客',
    9. data: [40, 64, 191, 324, 290, 330, 310, 213, 180, 200, 180, 79],
    10. type: 'line',
    11. smooth: true
    12. }
    13. }]

    所有的配置项都可以在这找到

    Documentation - Apache ECharts 

    完整代码

    1. (function () {
    2. // 1实例化对象
    3. var myChart = echarts.init(document.querySelector(".bar .chart"));
    4. // 2. 指定配置项和数据
    5. var option = {
    6. // 设置的是线条颜色
    7. color: ["pink"],
    8. // 图标提示框组件
    9. tooltip: {
    10. // 触发方式 axis坐标轴
    11. trigger: "axis",
    12. axisPointer: {
    13. // 坐标轴指示器,坐标轴触发有效
    14. type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
    15. },
    16. },
    17. //网格配置 修改折线图 柱状图图表的大小
    18. grid: {
    19. left: "0%",
    20. top: "10px",
    21. right: "0%",
    22. bottom: "4%",
    23. // containLabel 刻度 坐标轴的刻度显示
    24. containLabel: true,
    25. },
    26. xAxis: [
    27. {
    28. type: "category",
    29. data: [
    30. "旅游行业",
    31. "教育培训",
    32. "游戏行业",
    33. "医疗行业",
    34. "电商行业",
    35. "社交行业",
    36. "金融行业",
    37. ],
    38. axisTick: {
    39. alignWithLabel: true,
    40. },
    41. // 修改刻度标签 相关样式
    42. axisLabel: {
    43. color: "rgba(255,255,255,.6) ",
    44. fontSize: "12",
    45. },
    46. // 不显示x坐标轴的样式
    47. axisLine: {
    48. show: false,
    49. },
    50. },
    51. ],
    52. yAxis: [
    53. {
    54. type: "value",
    55. // 修改刻度标签 相关样式
    56. axisLabel: {
    57. color: "rgba(255,255,255,.6) ",
    58. fontSize: 12,
    59. },
    60. // y轴的线条改为了 2像素
    61. axisLine: {
    62. lineStyle: {
    63. color: "rgba(255,255,255,.1)",
    64. width: 2,
    65. },
    66. },
    67. // y轴分割线的颜色
    68. splitLine: {
    69. lineStyle: {
    70. color: "rgba(255,255,255,.1)",
    71. },
    72. },
    73. },
    74. ],
    75. series: [
    76. {
    77. name: "直接访问",
    78. type: "bar",
    79. barWidth: "35%",
    80. data: [200, 300, 300, 900, 1500, 1200, 600],
    81. itemStyle: {
    82. // 修改柱子圆角
    83. barBorderRadius: 5,
    84. },
    85. },
    86. ],
    87. };
    88. // 3. 把配置项给实例对象
    89. myChart.setOption(option);
    90. // 4. 让图表跟随屏幕自动的去适应
    91. window.addEventListener("resize", function () {
    92. myChart.resize();
    93. });
    94. })();

  • 相关阅读:
    DecorView和android.R.id.content的关系
    统一数据返回格式的实现
    MongoDB 语法大全
    代码随想录算法训练营Day52|动态规划11
    IDEA 优质 插件 Translation 跟随 IDEA 2022.3 版 更新翻译引擎啦
    Cpp创建桌面快捷方式lnk
    论文学习记录随笔 多标签之LIFT
    TP-LINK联洲面试题
    基于Android studio开发一款垃圾分类知识宣传APP
    【不要】重复自己*——如何为现代机器学习设计开源库
  • 原文地址:https://blog.csdn.net/a99101/article/details/133012936