python 等值线 标注 间距、控制_在Matplotlib中设置条间距

我不知道如何控制下面代码中从文件中读取数据的条间距。是否有任何方法来调整/调整条之间的空间(不是栏的宽度)?在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')

6554f1e55722db94de78244bf353faa2.png


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部