y 轴上的股票图表值正在四舍五入

如何解决y 轴上的股票图表值正在四舍五入

我有一个正在显示的图表,但 y 轴上的值四舍五入到小数点后 1 位,但我希望它保留到小数点后 2 位。输入图表的数据有 6 个小数位,当您将鼠标悬停在图表的不同部分时,您可以在图例中看到。如何防止它四舍五入或指定要四舍五入的小数位数?我已经包含了一个数据样本,因为全套数据超过 1000 行。完整的数据集在代码笔中。

谢谢

https://codepen.io/akrug23/pen/dyXjYdO

let data = {
  count: 226,results: [
    { date: "2019-12-12",nav_code: "2039",amount: "10.000000",change: 0 },{ date: "2019-12-13",{
      date: "2019-12-16",amount: "10.208000",change: 2.037618
    },{
      date: "2019-12-17",amount: "10.236000",change: 2.305588
    },{
      date: "2019-12-18",amount: "10.248000",change: 2.419984
    },{
      date: "2019-12-19",amount: "10.264000",change: 2.572097
    },{
      date: "2019-12-20",amount: "10.284000",change: 2.761571
    },{
      date: "2019-12-23",amount: "10.292000",change: 2.837155
    },{
      date: "2019-12-24",{
      date: "2019-12-26",amount: "10.312000",change: 3.025601
    },{
      date: "2019-12-27",amount: "10.324000",change: 3.138318
    },{
      date: "2019-12-30",amount: "10.300000",change: 2.912621
    },{
      date: "2019-12-31",amount: "10.316000",change: 3.063203
    },{
      date: "2020-01-02",amount: "10.368000",change: 3.549383
    },{
      date: "2020-01-03",amount: "10.350799",change: 3.389101
    },{
      date: "2020-01-06",amount: "10.339216",change: 3.280868
    },{
      date: "2020-01-07",amount: "10.328300",change: 3.178645
    },{
      date: "2020-01-08",amount: "10.339970",change: 3.287921
    },{
      date: "2020-01-09",amount: "10.386636",change: 3.722437
     }
  ]
};

function createStockChart(chartContainerID,rangeContainerID,data) {
  var percentageChange = anychart.data.table("date");
  percentageChange.addData(data);

  var navs = anychart.data.table("date");
  navs.addData(data);

  // Init stock chart
  var chart = anychart.stock();

  //Set animations
  chart.animation(true,5000);

  //Remove the credits
  chart.credits().enabled(false);

  //Set chart settings
  var plot = chart.plot();
  plot
    .line()
    .data(
      percentageChange.mapAs({
        value: "change"
      })
    )
    .name("% Change")
    .fill("#99328e")
    .stroke("#99328e")
    .tooltip(false);
  
  plot.yAxis().labels().format(function() {
    return this.value.toFixed(2);
  });

  chart.crosshair(true);
  chart.crosshair().yLabel().format(function() {
    return this.value.toFixed(2);
  });
  
  
  //format the legend
  var legend = plot.legend();

  //enable legend
  legend.enabled(true);

  //remove the title
  legend.titleFormat(false);

  //format item in legend
  legend.useHtml(true);
  legend.itemsFormat("% Change: {%value}");

  //Disable the scroller
  chart.scroller().enabled(false);

  //Set container for chart and draw chart
  chart.container(chartContainerID);
  chart.draw();
}

createStockChart("stock-chart","stock-chart-range-selector",data.results);

解决方法

在您提供的数据样本中,change 值的范围是 0 - 4。因此,图表在 yAxis [0,1.5,3,4.5] 上显示刻度和标签。在这种情况下,图表往往会显示出漂亮的圆形刻度。如果您要显示刻度值 31.5,则无需显示 6 位数字。如果您的数据范围类似于 2.111111 - 2.111122,则 yAxis 标签格式化程序函数将包括未舍入的值。然后显示所有 6 位数字以演示此范围内的刻度是有意义的。 无论如何,如果您确实需要显示一组特定的刻度,您可以使用 ticks() function 手动应用它们。

,

好的,知道了!在十字线标签格式器的上下文中,您可以找到包含未舍入值的 rawValue 字段。您应该为此目的使用它,而不是 value 字段。像这样:

chart.crosshair().yLabel().format(function() {
  console.log(this.rawValue);
  return this.rawValue;
});

因此,您可以根据需要完全舍入或格式化原始值。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)> insert overwrite table dwd_trade_cart_add_inc > select data.id, > data.user_id, > data.course_id, > date_format(
错误1 hive (edu)> insert into huanhuan values(1,'haoge'); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive> show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 <configuration> <property> <name>yarn.nodemanager.res