Python Forum
How to get list of exactly 10 items?
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to get list of exactly 10 items?
#1
I'm getting a traceback on this line:

axs[1].set_xticks(list(range(1,len(btstats.index),len(btstats.index)//(len(xtick_labels_converted)-1))),xtick_labels_converted)
ValueError: The number of FixedLocator locations (9), usually from a call to set_ticks, does not match the number of ticklabels (10).

btstats has a row for every trading day over three years. xtick_labels_converted is a list of 10 evenly spaced dates across the 3-year interval including the starting and ending date.

.set_xticks(a,b) has a as tick locations (a list) and b as tick labels (also a list).

The idea is to get evenly spaced date labels along the x-axis to include all 10 dates in xtick_labels_converted.

I fiddled around with this and got it to work with the -1. What I didn't realize is that while it worked for that particular len(btstats.index), it doesn't work for all as the size of btstats changes. I'm realizing that now with this diagnostic:

for i in range(11,721,5):
    a = list(range(1,i,i//(len(xtick_labels_converted))))
    print(f'Length of list is {len(a)}:  {a}')
Floor division obviously isn't working out because depending on the length of list a, I'm getting length of list anywhere between 10-15. I need exactly 10 to avoid that ValueError mismatch.

Dividing by 10 would leave a variable remainder most times and being a date, the 10th label can't go in variable places... it has to come n days after 1, which is 1/2/2017.

What's a better way to ensure I get 10 evenly spaced tick locations including the first and last?
Reply
#2
This seems to work:

axs[0].set_xticks(list(np.linspace(1,len(btstats.index),num=len(xtick_labels_converted))),xtick_labels_converted)
Hopefully that's a stable solution.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  How to parse and group hierarchical list items from an unindented string in Python? ann23fr 0 91 Yesterday, 01:16 PM
Last Post: ann23fr
  Why do I have to repeat items in list slices in order to make this work? Pythonica 7 1,258 May-22-2023, 10:39 PM
Last Post: ICanIBB
  Finding combinations of list of items (30 or so) LynnS 1 837 Jan-25-2023, 02:57 PM
Last Post: deanhystad
  For Word, Count in List (Counts.Items()) new_coder_231013 6 2,497 Jul-21-2022, 02:51 PM
Last Post: new_coder_231013
  how to assign items from a list to a dictionary CompleteNewb 3 1,535 Mar-19-2022, 01:25 AM
Last Post: deanhystad
  Reading list items without brackets and quotes jesse68 6 4,523 Jan-14-2022, 07:07 PM
Last Post: jesse68
Question How to gather specific second-level items from a list chatguy 2 1,517 Dec-17-2021, 05:05 PM
Last Post: chatguy
  deleting select items from a list Skaperen 13 4,390 Oct-11-2021, 01:02 AM
Last Post: Skaperen
  Getting All Items From A List knight2000 4 2,353 Sep-25-2021, 12:56 AM
Last Post: knight2000
  Feed List items with Integer euras 9 3,848 May-19-2021, 07:45 PM
Last Post: snippsat

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020