How would I set the x_axis labels at the indices 1,2,3....n to be something different.
lam_beta = [(lam1,beta1),(lam1,beta2),(lam1,beta3),....(lam_n,beta_n)]
chunks = [chunk1,chunk2,...chunk_n]
ht_values_per_chunk = {chunk1:[val1,val2,...],chunk2:[val1,val2,val3,.....]...}
color='rgbycmk'
j=0
for chunk in chunks:
plt.plot([hr_values_per_chunk[chunk][i] for i,item in enumerate(lam_beta)],[i for i,item in enumerate(lam_beta)],color=j%len(color))
j+=1
plt.set_xticks([i for i,item in enumerate(lam_beta)])
plt.set_xticklabels([item for item in lam_beta],rotation='vertical')
plt.show()
Error:
AttributeError: 'module' object has no attribute 'set_xticks'
Here I am unable to set the values of the lambda_beta tuple to be the values of each of the ticks on the x-axis as it say plt has no such method. How would I be able to achieve this for plt? I used xticks because this is how I had done it while generating a histogram in matplotlib. Any help would be appreciated. Thanks in advance!
set_xticks and set_xticklabels are axes methods, not functions in the
plt
module namespace. This is the meaning of the error message,'module' object has no attribute 'set_xticks'
.Moreover,
can be simplified to
and
can be simplified to
A convenient way to get your hands on the
axes
is to call plt.subplots:So:
ax
is anAxes
object. CallingAxes
methods is the object-oriented approach to using matplotlib.Alternatively, you could use the Matlab-style
pylab
interface by callingplt.xticks
. If we definethen
is equivalent to
plt.xticks
sets the tick locations and labels to the current axes.The list comprehension
could be simplified to
And you could eschew setting the
color
parameter for each call toax.plot
by using ax.set_color_cycle: