tensorflow / tensorflow/tensorboard

Feature: multiple Y-axis scales on a single chart

Open
#2,239 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

plugin:custom-scalars type:feature
Dominant language
TypeScript
Stars
7.2k
Forks
1.7k
Avg merge
4d 22h
Merged PRs (30d)
1

Description

For bug reports, please include the following:

  • TensorBoard version (from pip package, also printed out when running tensorboard)
    1.12.0
  • TensorFlow version if different from TensorBoard
  • OS Platform and version (e.g., Linux Ubuntu 16.04)
    Windows 10 Professional Desktop
  • Python version (e.g. 2.7, 3.5)
    Python 3.5.0

Here are the two examples:
1 perfectly worked as the scales was same:

import tensorflow as tf
from numpy import random

writer_1 = tf.summary.FileWriter("./logs/plot_1")
writer_2 = tf.summary.FileWriter("./logs/plot_2")

log_var = tf.Variable(0.0)
tf.summary.scalar("loss", log_var)

write_op = tf.summary.merge_all()

session = tf.InteractiveSession()
session.run(tf.global_variables_initializer())

for i in range(100):
    # for writer 1
    summary = session.run(write_op, {log_var: random.rand()})
    writer_1.add_summary(summary, i)
    writer_1.flush()

    # for writer 2
    summary = session.run(write_op, {log_var: random.rand()})
    writer_2.add_summary(summary, i)
    writer_2.flush()
    print(i)

Got this figure which was understandable :
good image

But take a look at the second case where the values do not fit in the same range. In that case I need to have two different axes on same chart, so that I get a good and understandable image. Check the code:

import tensorflow as tf
from numpy import random

writer_1 = tf.summary.FileWriter("./logs/plot_1")
writer_2 = tf.summary.FileWriter("./logs/plot_2")

log_var = tf.Variable(0.0)
tf.summary.scalar("loss", log_var)

write_op = tf.summary.merge_all()

session = tf.InteractiveSession()
session.run(tf.global_variables_initializer())

for i in range(100):
    # for writer 1
    summary = session.run(write_op, {log_var: i*10})
    writer_1.add_summary(summary, i)
    writer_1.flush()

    # for writer 2
    summary = session.run(write_op, {log_var: random.rand()})
    writer_2.add_summary(summary, i)
    writer_2.flush()
    print(i)

See the image obtained:
bad image

Please help me with this query.
I have tried many things and even have placed this question on Stackoverflow but there is no response.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the two examples in TensorBoard using the linked screenshots and compare charts with similar and widely different value ranges. Start by locating the chart implementation and its existing scale behavior; done means a single chart can display multiple scalar series with separate, understandable Y-axis scales.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, typescript
Domain
data-visualization, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.