python - 在 matplotlib 中保留多个条形图中的 xticks

标签 python matplotlib

1) 我无法看到以列表形式存储在变量 x 中的基于文本的 xticks。当我只有一个基于单列的条形图时,我可以将 xticks 视为文本,但不能看到更多。

2)如何控制xticks的字体属性和y轴的值?

谢谢。

import matplotlib.pyplot as plt
import pylab as pl
import numpy as np

#load text and columns into different variables
data = np.genfromtxt('a', names=True, dtype=None, usecols=("X", "N2", "J2", "V2", "asd", "xyz"))  
x = data['X'] 
n = data['N2'] 
j = data['J2'] 
v = data['V2'] 

#make x axis string based labels
r=np.arange(1,25,1.5)
plt.xticks(r,x)             #make sure dimension of x and n matches

plt.figure(figsize=(3.2,2), dpi=300, linewidth=3.0)
ax = plt.subplot(111)
ax.bar(r,v,width=0.9,color='red',edgecolor='black', lw=0.5, align='center')
plt.axhline(y=0,linewidth=1.0,color='black')   #horizontal line at y=0
plt.axis([0.5,16.5,-0.4,0.20])

ax.bar(r,j,width=0.6,color='green',edgecolor='black', lw=0.5, align='center')
ax.bar(r,n,width=0.3,color='blue',edgecolor='black', lw=0.5, align='center')

plt.axhline(y=0,linewidth=1,color='black')   #horizontal line at y=0

plt.axis([0.5,24.5,-0.36,0.15])

plt.savefig('fig',dpi=300,format='png',orientation='landscape')

最佳答案

按照您的方式,您只需将对 plt.xticks(r,x) 的调用移至创建图形之后的某个位置。正在努力。否则 pyplot 将为您创建一个新图形。

但是,我也会考虑切换到更明确的 object-oriented interfacematplotlib

这样你就可以使用:

fig, ax = plt.subplots(1,1) # your only call to plt

ax.bar(r,v,width=0.9,color='red',edgecolor='black', lw=0.5, align='center')
ax.bar(r,j,width=0.6,color='green',edgecolor='black', lw=0.5, align='center')
ax.bar(r,n,width=0.3,color='blue',edgecolor='black', lw=0.5, align='center')
ax.set_xticks(r)
ax.set_xticklabels(x)
ax.axhline(y=0,linewidth=1,color='black')

fig.savefig('fig',dpi=300,format='png',orientation='landscape')
# or use plt.show() to see the figure interactively or inline, depending on backend
# (see Joe Kington's comment below)

关于python - 在 matplotlib 中保留多个条形图中的 xticks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32482748/

相关文章:

python - 围绕 matplotlib 线绘制边框

python - 如何在 pandas 中绘制类似 "eye diagram"的图?

python - 绘制 pandas DataFrame 中的数据,点的颜色取决于列

python - 如何测试模型是否在 FastAPI 路由中使用?

python - 如何更改图像上像素部分的 Alpha channel ?

python - 在条形图中使用 yerr 以及将数据透视表与 Pandas 一起使用时出现 ValueError

python - 是否可以向 QCheckBox 添加 onclick 监听器?

python - 将部分属性传递到 Beautiful Soup findall 函数

python - 存储在 HDFStore 后取回 nan 值

python - 如何将 pytest.mark 装饰器包装在另一个装饰器中并维护所有属性?