我不知道如何控制下面代码中从文件中读取数据的条间距。是否有任何方法来调整/调整条之间的空间(不是栏的宽度)?在Input file:
1 4500
2 5000
3 3000
4 4000
5 1000
6 5000#!/usr/bin/python
import numpy as np
import pylab as plot
import matplotlib.pyplot as plt
import numpy, scipy, pylab, random
from matplotlib.ticker import MultipleLocator
import matplotlib as mpl
from matplotlib.ticker import MaxNLocator
with open(“file.txt”, “r”) as f:
x=[]
y=[]
for line in f:
if not line.strip() or line.startswith(‘@’) or line.startswith(‘#’): continue
row = line.split()
x.append(float(row[0]))
y.append(float(row[1]))
fig = plt.figure(figsize=(3,2))
ax = plt.subplot(111)
plt.ylim(0, 6000)
ax.yaxis.set_major_locator(MaxNLocator(6))
ax.yaxis.set_minor_locator(MultipleLocator(500))
plt.xlim(0+0.5, 7-0.5)
bars=plt.bar(x,y, width=0.2, color=’blue’, edgecolor=’black’, align=’center’, linewidth=0.5)
bars[0].set_facecolor(‘gray’)
bars[1].set_facecolor(‘orange’)
bars[2].set_facecolor(‘green’)
bars[3].set_facecolor(‘yellow’)
bars[4].set_facecolor(‘cyan’)
bars[5].set_facecolor(‘deeppink’)
labels=[‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’]
plt.xticks(x, labels, rotation=’45’, rotation_mode=’anchor’, ha=’right’)
plt.ylabel(‘Values (m)’, fontsize=7)
for axis in [‘top’,’bottom’,’left’,’right’]:
ax.spines[axis].set_linewidth(0.5)
plt.subplots_adjust(top=0.97)
plt.subplots_adjust(bottom=0.05)
plt.subplots_adjust(left=0.07)
plt.subplots_adjust(right=0.98)
plt.tick_params(axis=’both’, which=’major’, labelsize=6)
plt.tick_params(axis=’both’, which=’minor’, labelsize=0)
plt.savefig(“plot.png”, dpi=300, bbox_inches=’tight’)
Original: https://blog.csdn.net/weixin_34675606/article/details/114401319
Author: ICT杂谈
Title: python 等值线 标注 间距、控制_在Matplotlib中设置条间距
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/768017/
转载文章受原作者版权保护。转载请注明原作者出处!