python 刻度线在中间,让柱状图或者格子与刻度线对齐(总结版)
2021/6/18 22:59:54
本文主要是介绍python 刻度线在中间,让柱状图或者格子与刻度线对齐(总结版),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
画图的时候,经常遇到刻度线和柱子、格子对不齐的情况,看起来很奇怪。看了几篇博客后亲自实践了一下,给出总结性的代码。其实就是把刻度线改一下位置。
博客是:
博客1 博客2
下面是我原来的代码,生成相关系数矩阵的热力图:
data_station = { '速度_1': [38, 38, 40, 62, 108, 38], '速度_2': [31, 31, 38, 37, 39, 32], '速度_3': [90, 86, 79, 90, 129, 86], '速度_4': [19, 19, 19, 20, 17, 39], '速度_5': [43, 39, 39, 41, 38, 39], '速度_6': [55, 49, 47, 48, 47, 47], '速度_7': [35, 30, 29, 30, 27, 30]} plt.figure(figsize=(9, 8)) df3 = pd.DataFrame(data_station) df4 = np.corrcoef(df3) sns.heatmap(df4, vmin=-1, vmax=1, cmap=sns.color_palette('RdBu', n_colors=128), annot=True) xx = [1, 2, 3, 4, 5, 6] labels = ['速度_1', '速度_1', '速度_1', '速度_1', '速度_1', '速度_1'] plt.xticks(xx, labels, rotation='horizontal') plt.show()
效果图长这样,可以明显的感受到x轴的视觉难受!
修改x轴刻度线的代码这一个
plt.xticks(xx, labels, rotation='horizontal')
其中,xx是我们的刻度list。可以发现每一条刻度线都在每个格子的最右侧,也就是对于每个格子的长度[0, 1]来说,都位于1的位置。那么,只需要让它左移0.5就好,也就是在原来的位置坐标上-0.5:
plt.xticks([index - 0.5 for index in xx], labels, rotation='horizontal')
当然,该成多少就会有相应的效果。想要让其移动到左侧,便-1。
这是热力图的效果,如果是画柱状图,则需要根据柱子的width去计算平移的数值,具体可以看上面博客2里的指示。
改好后效果图变成:
如果学会了,请点个赞吧!
这篇关于python 刻度线在中间,让柱状图或者格子与刻度线对齐(总结版)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python