1

here is a simple code :

import matplotlib.pyplot as plt
import numpy as np

x = []
y = []

dict_plot = {}

dictResult = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, 10: 10, 11: 11, 12: 12, 13: 13, 14: 14, 15: 15, 16: 16, 17: 17, 18: 18, 19: 19, 20: 20, 21: 21, 22: 22, 23: 23, 24: 24, 25: 25, 26: 26, 27: 27, 28: 28, 29: 29, 30: 30, 31: 31, 32: 32, 33: 33, 34: 34, 35: 35, 36: 36, 37: 37, 38: 38, 39: 39, 40: 40, 41: 41, 42: 42, 43: 43, 44: 44, 45: 45, 46: 46, 47: 47, 48: 48, 49: 49, 50: 50, 51: 51, 52: 52, 53: 53, 54: 54, 55: 55, 56: 56, 57: 57, 58: 58, 59: 59, 60: 60, 61: 61, 62: 62, 63: 63, 64: 64, 65: 65, 66: 66, 67: 67}


i = 0
for key in dictResult.keys():
    x.append(dictResult[key])
    y.append("toto_"+str(i))
    i = i +1


plt.xlabel("Nb video by category")
plt.ylabel("Category")
plt.title("Nb Video")
plt.scatter(x,y)
plt.savefig("catnbvideo.png", bbox_inches='tight')
plt.show()

but the result is awful :

Awful plot

If you have any ideas on how to add space between the Y label.

regards

Bussiere
  • 500
  • 13
  • 60
  • 119
  • 1
    Your code doesn't work, please fix it to make it a minimal, complete and verifiable example. – toti08 Nov 13 '18 at 12:00
  • I'm sorry, but even like this it's not properly working: you're trying to plot x and y, but y is only a label.... – toti08 Nov 13 '18 at 12:34
  • 1
    You have a few options, including: make font smaller, make axis longer, label less points. It's really up to you what makes most sense. – busybear Nov 13 '18 at 14:49
  • Are you sure you want to plot categoricals here? Why not plot numbers instead? That would give you nicely separated values on the axes. – ImportanceOfBeingErnest Nov 14 '18 at 10:22

1 Answers1

0

Check out the documentation for yticks. You need to make sure that tick values are distance enough from each other that they don't cramp together. Tick values and labels could be different, so you can say yticks([0, 5, 10], labels = [0, 1, 2]). Also, make sure to change your plot size as well, if you have a lot of values, you need more space anyway. You can change that by creating a fig and ax.

Amir
  • 1,087
  • 1
  • 9
  • 26