Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在matplotlib中修改直方图中的y轴_Python_Matplotlib_Machine Learning_Scikit Learn - Fatal编程技术网

Python 在matplotlib中修改直方图中的y轴

Python 在matplotlib中修改直方图中的y轴,python,matplotlib,machine-learning,scikit-learn,Python,Matplotlib,Machine Learning,Scikit Learn,我在数据列车['fk\u action\u code\u id']中有33960-0和144-1 在绘制柱状图时,1的条形图非常小,因此不可见。有没有办法通过修改Y轴使1的条可见来升高1的条 我试过了,但没用 b=[0,145, 35000] plt.yticks(b) plt.hist(data_train['fk_action_code_id'], histtype='bar', rwidth=0.8) 一些建议:你可以 1.)创建两个y轴,一个用于0,另一个用于1 2.)将其中一个条形乘

我在
数据列车['fk\u action\u code\u id']
中有33960-0和144-1

在绘制柱状图时,1的条形图非常小,因此不可见。有没有办法通过修改Y轴使1的条可见来升高1的条

我试过了,但没用

b=[0,145, 35000]
plt.yticks(b)
plt.hist(data_train['fk_action_code_id'], histtype='bar', rwidth=0.8)

一些建议:你可以

1.)创建两个y轴,一个用于0,另一个用于1

2.)将其中一个条形乘以一个数值因子,使其具有相同的数量级(您应该在绘图图例中对此进行解释)

3.)使用
plt.hist()
命令中的选项
log=True
绘制对数直方图

以下内容将生成这三个选项的绘图:

import numpy as np
import matplotlib.pyplot as plt
zeros = np.zeros([35000])
modifier = 100
ones = np.ones([145*modifier])
arr = np.hstack((zeros, ones))
bins = np.asarray([-0.5, 0.5, 1.5])
plt.hist(arr, bins=bins, facecolor='green', alpha=0.75, log=False)
plt.xticks([0,1])
plt.title('Multiplied with a factor')
plt.savefig('multiplied.png')
plt.show()
plt.clf()
modifier = 1
ones = np.ones([145*modifier])
arr = np.hstack((zeros, ones))
plt.hist(arr, bins=bins, facecolor='green', alpha=0.75, log=True)
plt.xticks([0,1])
plt.title('Logarithmic')
plt.savefig('log.png')
plt.show()
plt.clf()

ax1 = plt.gca()
ax2 = ax1.twinx()
ax1.set_yticks([0, 35000, 40000])
ax1.set_ylim(0, 40000)
ax2.set_yticks([0, 145, 200])
ax2.set_ylim(0, 200)
ax1.hist(arr, bins=[bins[0], bins[1]], facecolor='green', alpha=0.75, log=False)#, histtype='bar')#, rwidth=1.0)
ax2.hist(arr, bins=[bins[1], bins[2]], facecolor='green', alpha=0.75, log=False)#, histtype='bar')#, rwidth=1.0)
plt.xticks([0,1])
plt.title('Two y axes')
plt.savefig('two_axes.png')
plt.show()
plt.clf()