ChartDirector 5.1 (Python Edition)

Log Scale Axis


  

This example demonstrates using a log scale axis versus a linear scale axis.

In ChartDirector, log scale axis can be configured using Axis.setLogScale, Axis.setLogScale2 or Axis.setLogScale3.

Source Code Listing

[Standalone Version] pythondemo\logaxis.py
#!/usr/bin/python
from pychartdir import *

def createChart(img) :

    # The data for the chart
    data = [100, 125, 260, 147, 67]
    labels = ["Mon", "Tue", "Wed", "Thu", "Fri"]

    # Create a XYChart object of size 200 x 180 pixels
    c = XYChart(200, 180)

    # Set the plot area at (30, 10) and of size 140 x 130 pixels
    c.setPlotArea(30, 10, 140, 130)

    # Ise log scale axis if required
    if img == "1" :
        c.yAxis().setLogScale3()

    # Set the labels on the x axis
    c.xAxis().setLabels(labels)

    # Add a color bar layer using the given data. Use a 1 pixel 3D border for the
    # bars.
    c.addBarLayer3(data).setBorderColor(-1, 1)

    # Output the chart
    c.makeChart("logaxis%s.png" % img)


createChart("0")
createChart("1")

[CGI Version] pythondemo_cgi\logaxis.py
#!/usr/bin/python
from pychartdir import *
import cgi

# Get HTTP query parameters
query = cgi.FieldStorage()

# The data for the chart
data = [100, 125, 260, 147, 67]
labels = ["Mon", "Tue", "Wed", "Thu", "Fri"]

# Create a XYChart object of size 200 x 180 pixels
c = XYChart(200, 180)

# Set the plot area at (30, 10) and of size 140 x 130 pixels
c.setPlotArea(30, 10, 140, 130)

# Ise log scale axis if required
if query["img"].value == "1" :
    c.yAxis().setLogScale3()

# Set the labels on the x axis
c.xAxis().setLabels(labels)

# Add a color bar layer using the given data. Use a 1 pixel 3D border for the bars.
c.addBarLayer3(data).setBorderColor(-1, 1)

# Output the chart
print("Content-type: image/png\n")
binaryPrint(c.makeChart2(PNG))