Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6951281
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T14:11:57+00:00 2026-05-27T14:11:57+00:00

How can I change the ticklabels of numeric decimal data (say between 0 and

  • 0

How can I change the ticklabels of numeric decimal data (say between 0 and 1) to be “0”, “.1”, “.2” rather than “0.0”, “0.1”, “0.2” in matplotlib? For example,

hist(rand(100))
xticks([0, .2, .4, .6, .8])

will format the labels as “0.0”, “0.2”, etc. I know that this gets rid of the leading “0” from “0.0” and the trailing “0” on “1.0”:

from matplotlib.ticker import FormatStrFormatter
majorFormatter = FormatStrFormatter('%g')
myaxis.xaxis.set_major_formatter(majorFormatter) 

That’s a good start, but I also want to get rid of the “0” prefix on “0.2” and “0.4”, etc. How can this be done?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T14:11:58+00:00Added an answer on May 27, 2026 at 2:11 pm

    Although I am not sure it is the best way, you can use a matplotlib.ticker.FuncFormatter to do this. For example, define the following function.

    def my_formatter(x, pos):
        """Format 1 as 1, 0 as 0, and all values whose absolute values is between
        0 and 1 without the leading "0." (e.g., 0.7 is formatted as .7 and -0.4 is
        formatted as -.4)."""
        val_str = '{:g}'.format(x)
        if np.abs(x) > 0 and np.abs(x) < 1:
            return val_str.replace("0", "", 1)
        else:
            return val_str
    

    Now, you can use majorFormatter = FuncFormatter(my_formatter) to replace the majorFormatter in the question.

    Complete example

    Let’s look at a complete example.

    from matplotlib import pyplot as plt
    from matplotlib.ticker import FuncFormatter
    import numpy as np
    
    def my_formatter(x, pos):
        """Format 1 as 1, 0 as 0, and all values whose absolute values is between
        0 and 1 without the leading "0." (e.g., 0.7 is formatted as .7 and -0.4 is
        formatted as -.4)."""
        val_str = '{:g}'.format(x)
        if np.abs(x) > 0 and np.abs(x) < 1:
            return val_str.replace("0", "", 1)
        else:
            return val_str
    
    # Generate some data.
    np.random.seed(1) # So you can reproduce these results.
    vals = np.random.rand((1000))
    
    # Set up the formatter.
    major_formatter = FuncFormatter(my_formatter)
    
    plt.hist(vals, bins=100)
    ax = plt.subplot(111)
    ax.xaxis.set_major_formatter(major_formatter)
    plt.show()
    

    Running this code generates the following histogram.

    Histogram with modified tick labels.

    Notice the tick labels satisfy the conditions requested in the question.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have application where i can change XAML file. For example: Move and resize
You can change the connection string at run-time like this. You make the connection
I can change SQL at runtime. Can I do the same with LINQ ?
I can change the irb prompt mode with irb --prompt prompt-mode I can see
Can someone tell me how i can change the .xml file that a flash
I understand how I can change the dns settings for my domains by editing
Where I can change compiler options for C# project in VisualStudio 2008 (without command
I know I can change the selectionStyle of a UITableViewCell to make it highlight
I understand that I can change a sql table using the follow sp: EXEC
How I can change the individual region background color of viewport extjs 4. Here

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.