首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在BokehJS中添加第二个y轴

可以通过以下步骤实现:

  1. 首先,导入必要的库和模块。在BokehJS中,可以使用import语句导入所需的库和模块,例如:import { figure, ColumnDataSource, Range1d, LinearAxis, MultiLine, Circle, HoverTool, BoxZoomTool, ResetTool, PanTool, WheelZoomTool, SaveTool } from "bokehjs"
  2. 创建一个绘图对象。使用figure函数创建一个绘图对象,并设置绘图的基本属性,例如:const plot = figure({ width: 800, height: 400, x_range: new Range1d(0, 10), y_range: new Range1d(0, 100), tools: [BoxZoomTool, ResetTool, PanTool, WheelZoomTool, SaveTool], toolbar_location: "above", })
  3. 创建数据源。使用ColumnDataSource类创建一个数据源对象,并将数据源与绘图对象关联,例如:const source = new ColumnDataSource({ data: { x: [1, 2, 3, 4, 5], y1: [10, 20, 30, 40, 50], y2: [50, 40, 30, 20, 10], }, })
  4. 添加第一个y轴。使用plot.add_layout方法添加第一个y轴,例如:plot.add_layout(new LinearAxis({ axis_label: "y1", axis_label_text_font_size: "12pt", axis_label_text_font_style: "bold", axis_label_text_color: "blue", major_label_text_font_size: "10pt", major_label_text_color: "blue", ticker: new BasicTicker(), formatter: new NumeralTickFormatter({ format: "0,0" }), axis_line_color: "blue", axis_line_width: 2, axis_line_dash: [6, 4], major_tick_line_color: "blue", major_tick_line_width: 2, major_tick_line_dash: [6, 4], minor_tick_line_color: "blue", minor_tick_line_width: 1, minor_tick_line_dash: [6, 4], }), "left")
  5. 添加第二个y轴。使用plot.add_layout方法添加第二个y轴,例如:plot.add_layout(new LinearAxis({ axis_label: "y2", axis_label_text_font_size: "12pt", axis_label_text_font_style: "bold", axis_label_text_color: "red", major_label_text_font_size: "10pt", major_label_text_color: "red", ticker: new BasicTicker(), formatter: new NumeralTickFormatter({ format: "0,0" }), axis_line_color: "red", axis_line_width: 2, axis_line_dash: [6, 4], major_tick_line_color: "red", major_tick_line_width: 2, major_tick_line_dash: [6, 4], minor_tick_line_color: "red", minor_tick_line_width: 1, minor_tick_line_dash: [6, 4], }), "right")
  6. 绘制数据。使用绘图对象的绘图方法绘制数据,例如:plot.line({ field: "x" }, { field: "y1" }, { source: source, line_color: "blue", line_width: 2, line_dash: [6, 4], }) plot.circle({ field: "x" }, { field: "y2" }, { source: source, fill_color: "red", line_color: "red", size: 8, })
  7. 添加工具和交互。使用绘图对象的add_tools方法添加工具和交互功能,例如:plot.add_tools(new HoverTool({ tooltips: [ ("x", "@x"), ("y1", "@y1"), ("y2", "@y2"), ], }))
  8. 显示绘图。使用show函数显示绘图,例如:show(plot)

通过以上步骤,就可以在BokehJS中添加第二个y轴,并绘制相应的数据。请注意,以上代码仅为示例,具体的实现方式可能会根据实际需求和环境而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Keras fit-generator获取验证数据的y_true和y_preds

    Keras网络训练过程,fit-generator为我们提供了很多便利。...过程不保存、不返回预测结果,这部分没有办法修改,但可以评价数据的同时对数据进行预测,得到结果并记录下来,传入到epoch_logs,随后回调函数的on_epoch_end尽情使用。...) # 加入get_predict变量 training_generator.evaluate_generator 进入training_generator.evaluate_generator,添加...的 list pr_per_batch = [] # 新建 y_pred 的 list 核心循环while steps_done < steps:中加入预测变量的内容: while..._write_logs Keras的Tensorboard会记录logs的内容,但是他只认识 int, float 等数值格式,我们保存在log的复杂字典他没办法写入tesnorboard,需要对

    1.3K20

    Xcode 添加 Swift package 依赖

    如果开发人员正确遵循 SemVer,则他们应该: 只要不破坏任何API或添加功能,就可以修复错误时更改补丁号。 当他们添加不会破坏任何API的功能时,请更改次版本号。 更改API时更改主版本号。...要尝试,请打开 ContentView.swift 并将此导入添加到顶部: import SamplePackage 是的,外部依赖关系现在是一个模块,我们可以需要的任何地方导入它。...Swift这只需要一行代码,因为序列具有map()方法,通过将函数应用于每个元素,我们可以将一种类型的数组转换为另一种类型的数组。...我们的例子,我们希望从每个整数初始化一个新的字符串,因此我们可以将String.init用作要调用的函数。...现在将此最后一行添加到属性: return strings.joined(separator: ", ") 这就完成了我们的代码:文本视图将显示结果的值,该结果将继续并选择随机数,对其进行排序,将它们进行字符串化

    6.7K10

    Java PDF 添加表单域

    PDF表单域是指用户PDF文件可以自主进行填写、选择等操作的区域,其主要目的是采集用户输入或选择的数据。常见的表单域包括文本框、单选按钮、复选框、列表框和组合框等。...文本将介绍如何使用 Free Spire.PDF for JavaJava程序创建PDF表单域。...Jar包导入 方法一:下载Free Spire.PDF for Java包并解压缩,然后将lib文件夹下的Spire.Pdf.jar包作为依赖项导入到Java应用程序 方法二:直接通过Maven仓库安装...; //文本框前的文字 page.getCanvas().drawString(text, font, brush1, new Point2D.Float(0, baseY)); //PDF...绘制文字 Rectangle2D.Float tbxBounds = new Rectangle2D.Float(baseX, baseY , 150, 15); //创建Rectangle2D

    3.9K30

    快手Y-tech:GAN短视频的AI特效实践

    工业界,基于生成式技术的真实感效果也引领了一批爆款特效和应用。快手Y-tech国内率先将GAN落地于短视频特效制作,并积累了丰富的实践经验,为快手各类人脸爆款特效提供有力技术支持。...落地实践, 需要解决如下几个关键问题。 第一,GAN训练不稳定,容易出现斑点、伪影、局部区域扭曲等问题。落地过程,我们将GAN模型分为两个阶段,分别为造数据模型和pixel2pixel模型。...该环节,需多方联合把控数据的整体质量。...素材制作可使用轻量级的操作让模型的最终效果更上一层楼,比如美颜、美型、美妆、锐化、氛围添加等常见操作,提升用户对美的感受。...比如,变小孩造数据阶段引入美型可以降低图像翻译过程的形变带来的学习困难,提升造数据成功率。 05 总结 ?

    2.6K51

    Excel公式巧妙添加注释

    我们知道,使用VBA编写程序时,可以程序代码添加注释,以便于无论什么时候或者谁都能够很快地理解程序。那么,公式,能否添加注释,让公式更加易于理解呢? 可以使用一点小技巧来达到这的目的。...图1 Excel,有一个N函数,将不是数值形式的值转换成数字,日期转换成序列值,TRUE转换成1,其他值转换成0。...也就是说,如果我们公式中使用N函数,而传递给它的参数是文本的话,它会将文本转换成0而不会影响最终的结果。...因此,我们可以公式添加一些N函数,在里面包含公式运转原理的文本来解释公式而不会影响公式的结果。对于上述示例,使用N函数添加公式注释后的结果如下图2所示。

    66210

    链表----链表添加元素详解

    1.2对于链表来说,若想访问链表每个节点则需要把链表的头存起来,假如链表的头节点为head,指向链表第一个节点,如图: ?...2.2 如在链表头添加一个666元素则需要先将666放进一个节点里,节点里存入这个元素以及相应的next。 ?...2.3 链表头添加新元素的相关代码 //链表头添加新的元素e public void addFirst(E e) { Node node = new Node(e);...从上不难看出,对于链表添加元素关键是找到要添加的节点的前一个节点,因此对于索引为0的节点添加元素就需要单独处理。...关于链表中间添加元素的代码: //链表的index(0--based)的位置添加新的元素e (实际不常用,练习用) public void add(int index, E e)

    2.7K30
    领券