我有下面的代码,我想读取一个文本文件从某个位置在我的计算机上,在本例中它是桌面。它制作了一个图,这是可以的,但我想改变颜色的x,y轴标签以及标题。我还想在x & y轴标签和图表轴之间添加一些空间,这样它就更具可读性了。
我试过很多方法,但都不起作用,我真的不知道为什么。有人能看一下这些吗?
import matplotlib.pyplot as plt
filename = r"C:\Users\my_name\Desktop\my_text_file.txt"
with open(filename) as file:
entries = [x.split(",") for x in file.readlines()] # Read the text, splitting on comma.
entries = [(x[0], int(x[1])) for x in entries] # Turn the numbers into ints.
entries.sort(key=lambda x: x[1], reverse=True) # Sort by y-values.
x_coords = [x[0] for x in entries]
y_coords = [x[1] for x in entries]
plt.xticks(rotation=90)
plt.bar(x_coords, y_coords) # Draw a bar chart
plt.tight_layout() # Make room for the names at the bottom
# The next two lines adjust the space around the top, bottom, left & right around the plot
plt.plot()
plt.subplots_adjust(left=0.1, right=0.9, top=0.9, bottom=0.4)
plt.xlabel('The Names', fontsize=15)
plt.ylabel('Frequency of Visits', fontsize=12)
plt.title('Title', fontsize=15)
plt.subplots_adjust(top=0.85)
plt.show()
1条答案
按热度按时间ao218c7q1#
plt.xlabel()
和plt.title()
接受color=...
参数来设置颜色。使用plt.xlabel(..., labelpad=10)
,您可以调整标签和ticklabels之间的填充。labelpad
的单位是points
,它与表示字体大小的单位相同(例如,12 point
字体)。标题的相应填充被简称为pad=
。请注意,如果您在最后调用
plt.tight_layout()
,则对subplots_adjust
的调用不是必需的(它们的值被plt.tight_layout()
简单地覆盖)。PS:您也可以更改刻度标签的颜色,例如
plt.xticks(rotation=90, color='crimson')
。此外,
tick_params()
可能有助于更改刻度的许多属性。